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一致,主要应用与工具栏,菜单等场景。

相关推荐
小短腿的代码世界42 分钟前
Qt券商接口封装深度解析:统一API设计与多源适配
开发语言·qt·单元测试
T0uken1 小时前
基于 vcpkg 与 LLVM-MinGW 的 Qt6 静态链接开发方案
c++·windows·qt
Ulyanov2 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》 开发环境搭建与工具链极简主义 —— 拒绝臃肿,构建工业级基座
开发语言·python·qt·ui·架构·系统仿真
(Charon)6 小时前
【C++/Qt】Qt 实现 MQTT 测试工具:连接 Broker、订阅主题与发布消息
开发语言·c++·qt
Ulyanov6 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:动态数据仪表盘与 NumPy 可视化 —— 从标量到向量的数据驱动进化
开发语言·python·qt·架构·numpy
小短腿的代码世界6 小时前
Qt序列化与持久化深度解析:从QDataStream到自定义二进制协议
开发语言·数据库·qt
誰能久伴不乏6 小时前
Qt/C++ 架构之美:用一个“水龙头”隐喻,讲透面向接口编程与彻底解耦
c++·qt·架构
十五年专注C++开发7 小时前
QtnProperty:一个基于 Qt 框架的第三方高级属性库
开发语言·c++·qt
Ulyanov9 小时前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:实时时钟与数据驱动 UI —— 从“事件回调”到“状态绑定”的范式跃迁
开发语言·python·qt·ui·架构·交互
超龄编码人1 天前
Qt Widgets Designer QTabWidget无法添加布局
开发语言·qt