QPushButton、QCommandLinkButton、QCheckBox、QRadioButton

QPushButton

一、描述

命令按钮是矩形的,通常显示描述其操作的文本标签。可以通过在文本中的首选字符前加一个与号来指定快捷键。例如:

QPushButton *button = new QPushButton("&Download", this);

在这个例子中,快捷键是 Alt+D(要显示实际的&符号,使用“&&”)。

按钮显示文本标签,以及可选的小图标。如果按钮被禁用,文本和图标的外观将根据 GUI 样式进行操作,使按钮看起来“禁用”。

对话框的默认按钮,即当对话框接收到键盘输入焦点时,会自动成为默认按钮。默认按钮是当用户在对话框中按下 Enter 或 Return 键时激活的按钮。

注意:在 macOS 上,当按钮的宽度小于 50 或高度小于 30 时,按钮的角将从圆形变为方形。使用 setMinimumSize() 函数来防止这种行为。

QAbstractButton 基类提供了大部分模式和其他 API,QPushButton 提供了 GUI 逻辑。

二、属性成员

1、autoDefault : bool

按钮是否为自动默认按钮

在某些 GUI 样式中,默认按钮周围有一个额外的框架,最多 3 像素或更多。Qt 会自动保留自动默认按钮周围的空间,即自动默认按钮可能具有稍大的尺寸提示。

对于具有 QDialog 父级的按钮,此属性的默认值为 true。

2、default : bool

按钮是否为默认按钮。默认为 false。

默认和自动默认按钮决定当用户在对话框中按下 Enter 键时会发生什么。

此属性设置为 true 的按钮将在用户按下 Enter 键时自动按下,但有一个例外:如果 autoDefault 按钮当前具有焦点,则按下 autoDefault 按钮。

当对话框有 autoDefault 按钮但没有 default 按钮时,按 Enter 键将按下当前具有焦点的 autoDefault 按钮。

在对话框中,一次只有一个按钮可以是 default 按钮。

default 按钮行为仅在 QDialog 中提供。当按钮具有焦点时,始终可以通过按空格键从键盘单击按钮。

3、flat : bool

按钮是否扁平化。默认为 false。

如果设置了此属性,除非按钮被按下,否则大多数样式将不会绘制按钮背景。

setAutoFillBackground() 可用于确保使用 QPalette::Button 画笔填充背景。

三、成员函数

1、void showMenu()

显示(弹出)关联的弹出菜单。

2、void setMenu(QMenu *menu)

设置与此按钮相关联的菜单。这会将按钮变成菜单按钮,在某些样式中,它会在按钮文本的右侧生成一个小三角形。

菜单的所有权不会转移到按钮上。


QCommandLinkButton

一、描述

继承自QPushButton,外观通常类似于平面按钮的外观,但除了普通按钮文本外,它还允许使用描述性文本。

二、属性成员

1、description : QString

描述性标签,用作补充按钮文本。这通常会以比主要文本更小的字体显示。


QCheckBox

一、描述

QCheckBox 是一个复选框按钮。 

除了通常的选中和未选中状态之外,QCheckBox 还可以选择提供第三种状态来指示“无变化”。当需要为用户提供既不选中也不取消选中复选框的选项时,这很有用。

设置图标:

看起来有点奇怪就是了。

二、属性成员

1、tristate : bool

复选框是否为三态复选框。默认为 false。

三、成员函数

1、【信号】void stateChanged(int state)

每当复选框的状态发生变化时,即当用户选中或取消选中它时,都会发出此信号。

state 包含复选框的新 Qt::CheckState。

enum Qt::CheckState

  • Qt::Unchecked:被选中
  • Qt::PartiallyChecked:部分选中
  • Qt::Checked:被选中

2、Qt::CheckState checkState()

返回复选框的选中状态。

如果不是三态复选框,应该使用 QAbstractButton::isChecked()。

3、void setCheckState(Qt::CheckState state)

设置复选框的选中状态。

如果不是三态复选框,应该使用 QAbstractButton::setChecked()。 


QRadioButton

一、描述

QRadioButton 是一个单选按钮。在一组单选按钮中,一次只能选中一个单选按钮。

默认情况下,单选按钮的 autoExclusive 为true,即属于同一父小部件的单选按钮是互斥的。如果需要为属于同一个父控件的单选按钮使用多个独占按钮组,请将它们放入 QButtonGroup 中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值