1. QPushButton
在QT中使⽤ QPushButton 表⽰⼀个按钮。QPushButton 继承⾃ QAbstractButton,这个类是⼀个抽象类,是其他按钮的⽗类。
(1)QAbstractButton 中,和 QPushButton 相关性较⼤的属性:
(2)QPushButton独有属性:
autoDefault属性:用于设置按钮是否自动成为默认按钮。当autoDefault属性为true时,按钮可以根据上下文自动变为默认按钮,即按下Enter键时触发按钮的点击事件。
default属性:指定按钮是否为默认按钮。默认按钮通常在对话框中有特殊的行为,例如按下Enter键时触发默认按钮的点击事件。通过设置default属性为true,可以将按钮设置为默认按钮。
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一致,主要应用与工具栏,菜单等场景。