09.QT控件:按钮类控件

1. QPushButton

在QT中使⽤ QPushButton 表⽰⼀个按钮。QPushButton 继承⾃ QAbstractButton,这个类是⼀个抽象类,是其他按钮的⽗类。


(1)QAbstractButton 中,和 QPushButton 相关性较⼤的属性:

(2)QPushButton独有属性:

  1. autoDefault属性:用于设置按钮是否自动成为默认按钮。当autoDefault属性为true时,按钮可以根据上下文自动变为默认按钮,即按下Enter键时触发按钮的点击事件。

  2. default属性:指定按钮是否为默认按钮。默认按钮通常在对话框中有特殊的行为,例如按下Enter键时触发默认按钮的点击事件。通过设置default属性为true,可以将按钮设置为默认按钮。

  3. flat属性:用于设置按钮是否为扁平样式。当flat属性为true时,按钮将没有边框和背景样式,看起来更加扁平化。这可以用于实现一些特定的界面设计效果。

(3)使用代码的方式设置快捷键:

• 使用 setShortcut 给按钮设置快捷键。参数是⼀个 QKeySequence 对象,表⽰⼀个按键序列,支持组合键 (ctrl + c 这种)。
• QKeySequence 的构造函数参数,可以直接使⽤ "ctrl+c" 这样的按键名字符串表⽰,也可以使⽤预定义好的常量 (形如 Qt::CTRL + Qt::Key_C ) 表示。

2. QRadioButton

QRadioButton 是单选按钮,可以让我们在多个选项中选择⼀个。QAbstractButton 中和 QRadioButton 关系较⼤的属:

注意 :

(1)checkable设为false时只是让该按钮无法被选中,但是 点击事件依然会正常响应。如果希望按钮不能选中也不会有响应,可以设置enabled属性为false或disabled属性为true。
(2)如果界面中存在多组单选按钮,希望不同组之间不存在排他性,可以使 QButtonGroup对单选按钮进行分组,将同一组的单选按钮添加到同一个QButtonGroup中。这样单选按钮的排他性只在所在的组内生效。

3. QCheckBox

QCheckBox表示复选按钮,可以允许选中多个。和 QCheckBox 最相关的属性也是 checkable 和 checked, 都是继承⾃ QAbstractButton。致于QCheckBox 独有的属性 tristate用来实现 "三态复选框",比较冷门,暂不叙述。

4. QToolButton

QToolButton大部分功能和QPushButton一致,主要应用与工具栏,菜单等场景。

相关推荐
实心儿儿1 小时前
Qt — Qt 事件
开发语言·qt
bkspiderx8 小时前
Qt 的消息机制:事件驱动与信号槽的底层逻辑
开发语言·qt·信号槽·事件驱动·qt 的消息机制
江湖人称菠萝包9 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter11-数据库
笔记·qt·qt5
励志不掉头发的内向程序员10 小时前
【从零写一个CAD 02】画完第一条线之后:实体容器、Esc 取消,和按了没反应的键盘
开发语言·c++·qt·学习·系统架构
Quz15 小时前
QML TreeView:排序与搜索过滤
qt
Quz15 小时前
QML TreeView:基础树视图与自定义委托
qt
Junfeng的技术笔记1 天前
基于 C++/Qt 的雷达回波信号检测与测距仿真系统
qt
Quz1 天前
QML TableView:自定义样式与排序表格
qt
Quz1 天前
QML TableView:可编辑表格与 SQLite 数据持久化
qt·sqlite
Quz1 天前
QML ListView:C++ 数据模型与 ProxyModel 实时过滤
qt