媒介:本篇文章,将分享Qt中常用的,具有代表性的一些控件。
<hr> 一.按钮类控件
在前边的文章中我们也多次分享过PushButton按钮,但Qt中并非只提供这一种按钮。
在Qt中,QPushButton并非直接继承自QWidget,QAbstractButton才是它的父类,这个父类是一个抽象类,继承自QWidget。
另有别的几个按钮控件,和QPushButton一样,都继承自QAbstractButton,以是说,QAbstractButton包罗了这些按钮控件的公共属性的方法。
<hr> 1.QPushButton
QPushButton的常见属性:
text :按钮中的文本
icon :按钮中的图标
iconSize :按钮中图标的尺寸
shortCut :按钮对应的快捷键
autoRepeat :按钮是否会重复触发. 当鼠标左键按住不放时, 假如设为 true, 则会连续产生鼠标点击变乱; 假如设为 false, 则必须开释鼠标, 再次按下鼠标时才气产生点击变乱. (相当于枪战游戏中枪的连射照旧单射)
autoRepeatDelay :重复触发的延时时间. 按住按钮多久之后, 开始重复触发.
autoRepeatInterval :重复触发的周期.
<hr> 2.QRadioButton
QRadioButton 是单选按钮. 可以让我们在多个选项中选择⼀个。
常见属性:
checkable :是否能选中。
checked :是否已经被选中. checkable 是 checked 的条件条件。
autoExclusive :是否排他. 选中⼀个按钮之后是否会取消其他按钮的选中. 对于QRadioButton 来说默认就是排他的。
所谓排他性,就是当存在多个单选按钮时,选中一个按钮之后,就会取消其他按钮的选中状态。
好比说当我选中春天时,再去选中炎天,就会自动取消春天的选中状态。
固然,上述单选按钮还存在一个题目,当同一个界面上出现多个单选按钮,我们盼望这些按钮之间分为几个组合,组合与组合之间互不影响。此时由于团体的排他性,我们无法实现差别组的按钮之间不会存在排他性。
为相识决这一题目,Qt筹划了QButtonGroup类,可以针对按钮举行真正的分组。
利用QButtonGroup类,必要包罗同名头文件:
- // 创建两个个 QButtonGroup
- QButtonGroup* group1 = new QButtonGroup(this);
- QButtonGroup* group2 = new QButtonGroup(this);
- // 把 QRadioButton 两两⼀组, 放到两个个 QButtonGroup 中.
- group1->addButton(ui->radioButton);
- group1->addButton(ui->radioButton_2);
- group2->addButton(ui->radioButton_3);
- group2->addButton(ui->radioButton_4);
复制代码
分组之后,差别组的按钮之间就不会存在排他性了。
<hr> 3.QCheckBox
QCheckBox 表现复选按钮. 可以答应选中多个。
QCheckBox 最干系的属性也是 checkable 和 checked,这里就不继承先容。
<hr> 二.体现类控件
1.QLabel
QLabel 可以用来体现文本和图片。
常见属性:
text :QLabel 中的文本
textFormat :文本的格式.
- Qt:
lainText :纯文本
- Qt::RichText :富文本(支持 html 标签)
- Qt::MarkdownText :markdown 格式,提供各种特别符号,表现差别的样式/格式
- Qt::AutoText :根据文本内容自动决定文本格式.
pixmap:QLabel 内部包罗的图片.
scaledContents :设为 true 表现内容自动拉伸添补 QLabel,设为 false 则不会自动拉伸
alignment :对齐方式. 可以设置水平和垂直方向怎样对齐.
wordWrap :设为 true 内部的文本会自动换行. 设为 false 则内部文本不会自动换行.
indent :设置文本缩进. 水平和垂直方向都见效.
margin :内部文本和边框之间的边距. 差别于 indent, 但是是上下左右四个方向都同时有效. 而 indent 最多只是两个方向有效(具体哪两个方向有效取决于 alignment )
openExternalLinks :是否答应打开⼀个外部的链接. (当 QLabel 文本内容包罗 url 的时间涉及到)
buddy :给 QLabel 关联⼀个 "搭档" , 如许点击 QLabel 时就能激活对应的搭档. 比方搭档假如是⼀个 QCheckBox, 那么该 QCheckBox 就会被选中.
<hr> 2.QLCDNumber
QLCDNumber是⼀个专门用来体现数字的控件. 雷同于 "老式盘算器" 的结果。
常见属性:
intValue :QLCDNumber 体现的数字值(int). value :QLCDNumber 体现的数字值(double). 和 intValue 是联动的. 比方给 value 设为 1.5, intValue 的值就是 2. 别的, 设置 value 和 intValue 的方法名字为 display , 而不是 setValue 或 者 setIntValue . digitCount :体现几位数字. mode :数字体现情势.
- QLCDNumber:
ec :十进制模式,体现通例的十进制数字。
- QLCDNumber::Hex :十六进制模式,以十六进制格式体现数字。
- QLCDNumber::Bin :二进制模式,以二进制格式体现数字。
- QLCDNumber::Oct :八进制模式,以八进制格式体现数字。
segmentStyle :设置体现风格.
- QLCDNumber::Flat :平面的体现风格,数字出现在⼀个平展的外貌上。
- QLCDNumber::Outline :表面体现风格,数字具有清楚的表面和阴影结果。
- QLCDNumber::Filled :添补体现风格,数字被添补颜色并与配景区分开。
smallDecimalPoint :设置比力小的小数点. <hr> 3.QProgressBar
利用QProgressBar 表现⼀个进度条。
干系属性:
minimum :进度条最小值 maximum :进度条最大值 value :进度条当前值 alignment :文本在进度条中的对齐方式.
- Qt::AlignLeft : 左对齐
- Qt::AlignRight : 右对齐
- Qt::AlignCenter : 居中对齐
- Qt::AlignJustify : 两头对齐
textVisible :进度条的数字是否可见. orientation :进度条的方向是水平照旧垂直 invertAppearance :是否是朝反方向增上进度 textDirection :文本的朝向. format :展示的数字格式.
- %p :表现进度的百分比(0-100)
- %v :表现进度的数值(0-100)
- %m :表现剩余时间(以毫秒为单位)
- %t :表现总时间(以毫秒为单位)
<hr> 4.QCalendarWidget
QCalendarWidget 表现一个 "日历"。
干系属性:
selectDate :当前选中的日期
minimumDate :最小日期
maximumDate :最大日期
firstDayOfWeek :每周的第⼀天(也就是日历的第⼀列) 是周几.
gridVisible :是否体现
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |