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 表示复选钮的新状态。