Qt之QCheckBox
构造一个复选框QCheckBox,然后使用setTristate()开启三态模式。
QCheckBox *pCheckBox = new QCheckBox(this);
m_pLabel = new QLabel(this);
m_pLabel->setText("Click CheckBox...");
pCheckBox->setText(QString::fromLocal8Bit("三态复选框"));
// 开启三态模式
pCheckBox->setTristate();
// 连接信号槽
connect(pCheckBox, SIGNAL(stateChanged(int)), this, SLOT(onStateChanged(int)));
槽函数,判断当前复选框状态,其中包括:选中(Qt::Checked)、半选(Qt::PartiallyChecked)、未选中(Qt::Unchecked)。
void MainWindow::onStateChanged(int state)
{
if (state == Qt::Checked) // "选中"
{
m_pLabel->setText("Checked");
}
else if(state == Qt::PartiallyChecked) // "半选"
{
m_pLabel->setText("PartiallyChecked");
}
else // 未选中 - Qt::Unchecked
{
m_pLabel->setText("Unchecked");
}
}
QSS复选框样式。
QCheckBox{
spacing: 5px;
color: white;
}
QCheckBox::indicator {
width: 17px;
height: 17px;
}
QCheckBox::indicator:enabled:unchecked {
image: url(:/Images/checkBox);
}
QCheckBox::indicator:enabled:unchecked:hover {
image: url(:/Images/checkBoxHover);
}
QCheckBox::indicator:enabled:unchecked:pressed {
image: url(:/Images/checkBoxPressed);
}
QCheckBox::indicator:enabled:checked {
image: url(:/Images/checkBoxChecked);
}
QCheckBox::indicator:enabled:checked:hover {
image: url(:/Images/checkBoxCheckedHover);
}
QCheckBox::indicator:enabled:checked:pressed {
image: url(:/Images/checkBoxCheckedPressed);
}
QCheckBox::indicator:enabled:indeterminate {
image: url(:/Images/checkBoxIndeterminate);
}
QCheckBox::indicator:enabled:indeterminate:hover {
image: url(:/Images/checkBoxIndeterminateHover);
}
QCheckBox::indicator:enabled:indeterminate:pressed {
image: url(:/Images/checkBoxIndeterminatePressed);
}
连接stateChanged()信号和槽函数,当用户点击复选框时,状态发生改变就会调用槽函数。
根据以上样式可写为:
AirFrame QCheckBox#switch_Button::indicator:unchecked
{
image: url(://resource/area/checkbox/close.png);
}
AirFrame QCheckBox#switch_Button::indicator:checked
{
image: url(://resource/area/checkbox/open.png);
}
以上是更改使用的。
- 分享
- 举报
-
浏览量:6338次2020-08-22 16:31:22
-
浏览量:2858次2020-08-21 19:39:43
-
浏览量:5038次2020-05-08 15:46:11
-
浏览量:3385次2020-05-07 19:43:16
-
浏览量:3034次2017-11-28 12:33:29
-
浏览量:3702次2020-08-18 19:54:58
-
浏览量:4800次2020-08-11 18:51:18
-
浏览量:2520次2020-08-14 15:09:41
-
浏览量:6485次2020-08-15 17:22:26
-
浏览量:4747次2020-08-15 17:29:07
-
浏览量:3782次2020-08-21 19:40:26
-
浏览量:2725次2017-11-15 11:27:56
-
浏览量:4912次2020-08-11 17:39:02
-
浏览量:2607次2019-12-05 16:39:49
-
浏览量:2433次2022-12-08 23:43:55
-
浏览量:10486次2020-08-30 00:41:53
-
浏览量:1412次2020-08-30 00:47:29
-
浏览量:1959次2020-08-22 16:10:10
-
浏览量:3368次2020-08-18 20:09:59
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
big_anana
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明