当前位置: 首页 > news >正文

中国机械加工网官方网站的wordpress主机名

中国机械加工网官方网站,的wordpress主机名,企业官网怎么注册,网站链接文字控件概述 编程讲究的是 --- 站在巨人的肩膀上 --- 不是编写一个图形化界面上的内容 --- Qt 已经提供了很多控件了!!!提高图形化界面的开发效率!!!重点变成我们怎么使用这些已有的控件! Widge…

 

控件概述

编程讲究的是 --- 站在巨人的肩膀上 --- 不是编写一个图形化界面上的内容 --- Qt 已经提供了很多控件了!!!提高图形化界面的开发效率!!!重点变成我们怎么使用这些已有的控件! 

Widget 是 Qt 中的核心概念,英文原义是“小部件”,此处翻译为“控件”。控件是构成图形化界面的基本要素,如按钮、列表视图、树形视图、单行输入框、多行输入框、滚动条、下拉框等都属于控件。

Qt 作为成熟的 GUI 开发框架,内置大量常用控件,且可通过 Qt Designer 看到。Qt 还支持自定义控件,以满足特定需求。

分类子控件类型
Layouts(布局)Vertical Layout(垂直布局), Horizontal Layout(水平布局), Grid Layout(网格布局), Form Layout(表单布局)
Spacers(间隔器)
Buttons(按钮)Push Button(按钮), Tool Button(工具按钮), Radio Button(单选按钮), Check Box(复选框), Command Button(命令按钮), Dialog Button(对话框按钮)
Item Views(项视图)List View(列表视图), Tree View(树形视图), Table View(表格视图), Column View(列视图), List Widget(列表控件), Tree Widget(树形控件), Table Widget(表格控件)
Containers(容器)Group Box(分组框), Scroll Area(滚动区域), Tool Box(工具箱), Tab Widget(标签控件), Stacked Widget(堆叠控件), Frame(框架), Widget(控件), MDI Area(MDI区域), Dock Widget(停靠控件), QaxWidget(Qax控件)
Input Widgets(输入控件)Combo Box(组合框), Font Combo Box(字体组合框), Line Edit(行编辑框), Text Edit(文本编辑框), Plain Text Edit(纯文本编辑框), Spin Box(微调框), Double Spin Box(双微调框), Time Edit(时间编辑框), Date Edit(日期编辑框), Date/Time Edit(日期/时间编辑框), Dial(拨号盘)
Sliders(滑块)Horizontal Bar(水平条), Vertical Bar(垂直条), Horizontal Slider(水平滑块), Vertical Slider(垂直滑块)
Key Sequence Edit(键序列编辑)
Display Widgets(显示控件)Label(标签), Text Browser(文本浏览器), Graphics View(图形视图), Calendar Widget(日历控件), LCD Number(LCD数字显示), Progress Bar(进度条), Horizontal Line(水平线), Vertical Line(垂直线)

这个表格将 Qt 控件按照其功能和用途进行了分类,并列出每个分类下的子控件类型!


Qt 近几年还提供了 Qt Design Studio --- 对标现代化的界面体系 --- 制作出来的页面的美观程度是业界最领先的一档!!!但是目前收费!!!哭了~~~

Qt 中的各种控件都继承自 QWidget 这个类!--- Qt 控件体系中,通用的一部分!

但是:学习 Qt 时,熟悉并掌握内置常用控件是重要任务,这些控件对快速开发符合需求的界面至关重要。

控件体系的发展经历了三个阶段:

  • 第一阶段:完全没有控件,需通过绘图 API 手动绘制按钮、输入框等内容,代码繁琐,如文曲星的 Lava 平台开发。

  • 第二阶段:只包含粗略的控件,如按钮、输入框、单选框、复选框等最常用控件,例如 html 的原生控件。

  • 第三阶段:更完整的控件体系,基本覆盖 GUI 开发中的大部分场景,如早期的 MFC、VB、C++ Builder、Qt、Delphi,后来的 Android SDK、Java FX、前端的各种 UI 库等。前端中的 Element-ui 的控件在丰富程度和颜值上比 Qt 自带的控件更胜一筹。

QWidget 核心属性

在 Qt 中,使用 QWidget 类表示“控件”,具体控件类如按钮、视图、输入框、滚动条等都继承自 QWidget。QWidget 包含了 Qt 整个控件体系中通用的部分。

在 Qt Designer 中,拖动控件后,选中该控件,可在右下方看到 QWidget 中的属性,这些属性既可通过 Qt Designer 直接修改,也可通过代码方式修改,具体含义在 Qt Assistant 中有详细介绍,搜索 QWidget 即可找到文档说明,或在 Qt Creator 代码中选中 QWidget 按 F1 查看。

核心属性概览

属性名描述
enabled设置控件是否可用,true 表示可用,false 表示禁用。
geometry位置和尺寸,包含 x、y、width、height 四个部分,坐标以父元素为参考。
windowTitle设置 widget 标题。
windowIcon设置 widget 图标。
windowOpacity设置 widget 透明度。
cursor鼠标悬停时显示的图标形状,如普通箭头、沙漏、十字等,在 Qt Designer 界面中有可选项。
font字体相关属性,涉及字体家族、字体大小、粗体、斜体、下划线等样式。
toolTip鼠标悬停在 widget 上时在状态栏中显示的提示信息。
toolTipDurationtoolTip 显示的持续时间。
statusTipWidget 状态发生改变时显示的提示信息(如按钮被按下等)。
whatsThis鼠标悬停并按下 alt+F1 时显示的帮助信息,显示在一个弹出的窗口中。
styleSheet允许使用 CSS 来设置 widget 中的样式,Qt 支持的样式丰富,对前端开发人员友好。
focusPolicy该 widget 如何获取焦点,有以下几种方式:



 
contextMenuPolicy上下文菜单的显示策略,有以下几种:



 
locale设置语言和国家地区。
acceptDrops该部件是否接受拖放操作。如果设置为 true,该部件可以接收来自其他部件的拖放操作,并会接收到相应的拖放事件;如果设置为 false,则不会接收任何拖放操作。
minimumSize控件的最小尺寸,包含最小宽度和最小高度。
maximumSize控件的最大尺寸,包含最大宽度和最大高度。
sizePolicy尺寸策略,设置控件在布局管理器中的缩放方式。
windowModality指定窗口是否具有“模态”行为。
sizeIncrement拖动窗口大小时的增量单位。
baseSize窗口的基础大小,用来搭配 sizeIncrement 调整组件尺寸时计算组件应该调整到的合适值。
palette调色板,可以设置 widget 的颜色风格。
mouseTracking是否要跟踪鼠标移动事件。如果设为 true,表示需要跟踪,鼠标划过时该 widget 能持续收到鼠标移动事件;如果设为 false,表示不需要跟踪,鼠标划过时 widget 不会收到鼠标移动事件,只能收到鼠标按下或者释放的事件。
tabletTracking是否跟踪触摸屏的移动事件,类似于 mouseTracking,是 Qt 5.9 中引入的新属性。
layoutDirection布局方向,有以下几种:

 
autoFillBackground是否自动填充背景颜色。
windowFilePath能够把 widget 和一个本地文件路径关联起来,但作用不大。
accessibleName设置 widget 的可访问名称,这个名称可以被辅助技术(像屏幕阅读器)获取到,用于实现无障碍程序的场景中,比如给盲人写的程序。其实盲人也可以使用电脑和手机,甚至能成为程序员,可参考链接我采访了几位盲人程序员,看看他们是怎么写代码的【差评君】_哔哩哔哩_bilibili。
accessibleDescription设置 widget 的详细描述,作用同 accessibleName。
inputMethodHints针对输入框有效,用来提示用户当前能输入的合法数据的格式,比如只能输入数字、只能输入日期等。

接下来会介绍一些比较重要比较常用的属性,并附有代码示例!

enabled

方法 --- API描述 --- 功能
isEnabled()获取到控件的可用状态。
setEnabled(bool)设置控件是否可用,true 表示可用,false 表示禁用。

所谓“禁用”指的是该控件不能接收任何用户的输入事件,并且外观上往往是灰色的。如果一个 widget 被禁用,则该 widget 的子元素也被禁用。

代码示例:使用代码创建一个禁用状态的按钮 --- widget.cpp

Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPushButton* btn = new QPushButton(this);btn->setText("这是个被禁用的按钮");btn->setEnabled(false);
}

运行程序,可以看到按钮处于灰色状态,无法被点击。

代码示例:通过按钮2 切换按钮1 的禁用状态.

使用 Qt Designer 拖两个按钮到 Widget 中,两个按钮的 objectName 分别为 pushButton 和 pushButton_2

📚 QObject 的 objectName 属性介绍: QObject 是 QWidget 的父类.。里面最主要的属性就是 objectName 。

在一个 Qt 程序中,objectName 相当于对象的身份标识,彼此之间不能重复.。

在使用 Qt Designer 时, 尤其是界面上存在多个 widget 的时候, 可以通过 objectName 获取到指定的 widget 对象。Qt Designer 生成的 ui 文件, 本身是 xml 格式的。qmake 会把这个 xml 文件转换成 C++ 的 .h 文件(这个文件生成在 build 目录中),构成一个 ui_widget 类。

每个 widget 的 objectName 最终就会成为 ui_widget 类的属性名字。最终这个类的实例,就是 Ui::Widget *ui ,因此就可以通过形如 ui->pushButton 或者 ui->pushButton_2 这样的代码获取到界面上的 widget 对象了。

class Ui_Widget
{
public:QPushButton *pushButton;QPushButton *pushButton_2;
}

生成两个按钮的 slot 函数;

  • 使用 isEnabled 获取当前按钮的可用状态;
  • 使用 setEnabled 修改按钮的可用状态;

此处是直接针对原来的可用状态进行取反后设置。

void Widget::on_pushButton_clicked()
{qDebug() << "按下按钮";
}
void Widget::on_pushButton_2_clicked()
{bool flag = this->ui->pushButton->isEnabled();this->ui->pushButton->setEnabled(!flag);
}

运行程序,可以看到,初始情况下,上面的按钮是可用状态,点击下方按钮,即可使上方按钮被禁用; 

再次点击下方按钮,上方按钮就会解除禁用。 (禁用状态的按钮为 灰色, 且不可点击) 

🥛 在 Qt Designer 中创建按钮的时候,可以设置按钮的初始状态是 "可用" 还是 "禁用" 。如果把 enabled 这一列的对钩去掉,则按钮的初始状态就是 "禁用" 状态。




下一篇继续!!!请持续关注😋😋😋😋😋

下一篇继续!!!请持续关注😋😋😋😋😋

下一篇继续!!!请持续关注😋😋😋😋😋

http://www.dtcms.com/a/433474.html

相关文章:

  • 网站建设方案之目标网站建设执招标评分表
  • 商业计划的网站建设费用营销系统四大系统
  • 网站后台登陆不了哪个网站是可以做书的
  • 深圳深圳做网站长沙做网站哪里好
  • 公明做企业网站安徽安庆邮编
  • 网站建设的定位是什么意思wordpress手机号登陆
  • 青岛网站公司厚街商城网站建设
  • 深圳营销型网站建设电话漳州网站建设 林
  • 站长之家下载湖州市南浔区建设局网站
  • 深圳极速网站建设报价google play商店
  • 哪里可以免费建设网站品牌建设计划书
  • 蒙古网站群建设餐饮网站建设服务器
  • 韩国设计app网站有哪些做网站行情
  • 5050众筹网站开发常德德山经开区建设局网站
  • 德化住房和城乡建设网站鄂州官方网站
  • 校园加盟网站建设超低价的锦州网站建设
  • 网泰网站建设wordpress打开邮箱
  • 潍坊网站开发公司班级网站首页怎么做
  • 做暧暧视频免费网站章丘网站优化
  • 专做化妆品的网站港南网站建设
  • 古典水墨网站遇到钓鱼网站怎么做
  • 深圳专业专业网站设计公司一般网站服务器
  • vi设计公司 焕识湖南关键词优化推荐
  • 网站建设word文档嵌入式软件开发工程师培训
  • 济南网站制作培训班成都市网站建
  • 网站设计属于什么经营范围多用户商城系统的效果
  • 郑州市建网站不得不知道网站
  • Tailwind预定义样式类(框架内置)(文本样式类、布局与间距类(弹性布局、网格布局)、颜色类、响应式设计类)任意值(Arbitrary Values)功能
  • 江西网站建设网络公司莱芜一中贴吧
  • 阿里巴巴网站备案网络公司是什么公司