C++ 更改QCheckBox的背景色
我想要一个具有以下样式的复选框: 为此,我创建了以下样式表:C++ 更改QCheckBox的背景色,c++,qt,qt5,C++,Qt,Qt5,我想要一个具有以下样式的复选框: 为此,我创建了以下样式表: QCheckBox{背景色:青色;} QCheckBox::指示器{宽度:20px;高度:20px;} 遗憾的是,结果出乎我的意料,以下是我得到的: 但我想要所有的背景都是青色的。 我已经检查了,也检查了一些旧问题,但没有一个对我有用。当我添加QCheckBox::indicator{background color:cyan;}时,按钮在选中和未选中状态下都变成了全青色(就像在未选中状态的第一张图像上一样)。添加诸如borde
QCheckBox{背景色:青色;}
QCheckBox::指示器{宽度:20px;高度:20px;}
遗憾的是,结果出乎我的意料,以下是我得到的:
但我想要所有的背景都是青色的。
我已经检查了,也检查了一些旧问题,但没有一个对我有用。当我添加QCheckBox::indicator{background color:cyan;}
时,按钮在选中和未选中状态下都变成了全青色(就像在未选中状态的第一张图像上一样)。添加诸如border
之类的其他礼节对我都没有帮助
我也尝试使用Qpalete,但从未改变
这是我的密码:
QWidget* w = new QWidget();
QCheckBox* cb = new QCheckBox(w);
cb->setFixedSize(20, 20);
cb->setStyleSheet(QString("QCheckBox { background-color : cyan; }") + '\n' +
"QCheckBox::indicator { width : 20px; height : 20px; border : }");
w->show();
编辑日期:2020年9月28日
我最近发现应用程序的风格对它有影响。我使用的是微风风格,改为融合风格,使其按预期工作。唯一的问题是它需要更改应用程序本身的主题。无论如何,以下是代码示例,以防对任何人有所帮助:
#include <QApplication>
#include <QWidget>
#include <QCheckBox>
int main(int argc, char** argv)
{
QApplication a(argc, argv);
qApp->setStyle(QStyleFactory::create("Fusion"));
QWidget* w = new QWidget();
QCheckBox* cb = new QCheckBox(w);
cb->setFixedSize(20, 20);
cb->setStyleSheet(QString("QCheckBox { background-color : cyan; }") + '\n' +
"QCheckBox::indicator { width : 20px; height : 20px; border : }");
w->show();
}
#包括
#包括
#包括
int main(int argc,字符**argv)
{
质量保证申请a(argc、argv);
qApp->setStyle(QStyleFactory::create(“Fusion”);
QWidget*w=新的QWidget();
QCheckBox*cb=新的QCheckBox(w);
cb->setFixedSize(20,20);
cb->setStyleSheet(QString(“QCheckBox{background color:cyan;}”)+'\n'+
“QCheckBox::指示符{宽度:20px;高度:20px;边框:}”);
w->show();
}
我没有使用样式表命令解决问题,实际上我认为这是不可能的
不管怎么说,我能够实现我的目标,使用一个图像作为选中状态,另一个图像作为未选中状态,如下所示
QWidget* w = new QWidget();
QCheckBox* cb = new QCheckBox(w);
cb->setFixedSize(20, 20);
cb->setStyleSheet("QCheckBox::indicator { width : 20; height : 20; }\n"
"QCheckBox::indicator::unchecked { image : url(/path/**/unchecked.png); }\n"
"QCheckBox::indicator::checked { image : url(/path/**/checked.png); }");
w->show();
大概
QCheckBox::indicator:unchecked {background-color : cyan;});
是你想看的
编辑:太晚了