QPushButton 类代表按钮,它继承了 QAbstractButton 类,因此也有其全部的属性、信号和槽。
构造
QPushButton 类支持以下构造函数:
- QPushButton(QWidget *parent = 0);
- QPushButton(const QString &text, QWidget *parent = 0);
- QPushButton(const QIcon &icon, const QString &text, QWidget *parent = 0);
其中参数 text 是按钮上显示的文本,icon 是按钮的图标。生成的 QPushButton 对象默认是没有开关状态的。
属性
按钮的外观一般是有立体感的。通过它的 flat 属性可以控制外观是否为扁平状,相关成员函数如下:
- bool isFlat() const; // 判断外观是否为扁平状
- void setFlat(bool flat); // 设置外观是否为扁平状
如果这个属性为 true,则按钮就是扁平的,否则就是立体的。
如果一个按钮在对话框中,那么它就有默认和自动默认的概念,分别由 defaults 属性以及 autoDefault 属性控制,相关的成员函数如下:
- bool isDefault() const; // 判断按钮是否为默认按钮
- void setDefault(bool on); // 设置按钮是否为默认按钮
- bool autoDefault() const; // 判断按钮是否为自动默认按钮
- void setAutoDefault(bool); // 设置按钮是否为自动默认按钮
对话框中同一时刻只能有一个默认按钮,当用户按回车键时,等价于在对话框中单击这个按钮。实际上,对话框中还有一个主默认按钮的概念。一个自动默认按钮得到焦点时,就会变成默认那钮;失去焦点时,主默认按钮就成为默认按钮。而设置一个按钮的默认属性为 true 将同时使它成为对话框的主默认按钮。
*****************************************************************************************************************************************************************************************
QCheckBox 类代表复选钮,它继承了 QAbstractButton 类,因此也有其全部的属性、信号和槽。
构造
QCheckBox 支持以下构造函数:
- QCheckBox(QWidget *parent= 0);
- QCheckBox(const QString &text, QWidget *parent = 0);
其中 text 参数表示要显示的文本。生成的复选钮默认是不排他的。
属性
tristate 属性用于控制复选钮是否为三态的,相关的函数函数如下:
- bool isTristate() const; // 判断是否三态
- void setTristate(bool y = true); // 设置是否为三态的
三态的复选钮不只有打开和关闭两种状态,其状态由 checkState 属性来代表,相关的成员函数如下:
- Qt::CheckState checkState() const; // 获得状态
- void setCheckState(Qt::CheckState state); // 设置是否为三态的
这里 Qt::CheckState 是一个枚举类型,它有以下取值。
1)Qt::Unchecked:未选中。
2)Qt::PartiallyChecked:部分选中。
3)Qt::Checked:选中。
部分选中的状态经常用来表示一个选项树中某个选项的子选项有的选中、有的未选的状态。如果是一个复选钮不是三态的,则也可以用从 QAbstractButton 继承来的 checked 属性操作它的状态。
信号
当复选钮的状态发生变化时,将发射以下信号:
- void stateChanged(int state);
其中参数 state 表示复选钮的新状态。

本文详细介绍了Qt框架下QPushButton和QCheckBox类的构造、属性和信号,包括如何创建按钮与复选钮,以及它们的外观、默认行为和状态控制方法。了解这些内容对于构建复杂的Qt应用程序至关重要。
477

被折叠的 条评论
为什么被折叠?



