如何增加 QCheckBox 控件的复选框大小而不是文本大小?
谢谢。
Jérôme 给了你很好的建议。我只会举更多的例子。
QCheckBox::indicator {
width: 40px;
height: 40px;
}
QCheckBox::indicator:checked
{
image: url(../Checkbox_checked_normal.png);
}
QCheckBox::indicator:unchecked
{
image: url(../Checkbox_unchecked_normal.png);
}
QCheckBox::indicator:checked:hover
{
image: url(../Checkbox_checked_hovered.png);
}
QCheckBox::indicator:unchecked:hover
{
image: url(../Checkbox_unchecked_hovered.png);
}
QCheckBox::indicator:checked:pressed
{
image: url(../Checkbox_checked_pressed.png);
}
QCheckBox::indicator:unchecked:pressed
{
image: url(../Checkbox_unchecked_pressed.png);
}
QCheckBox::indicator:checked:disabled
{
image: url(../Checkbox_checked_disabled.png);
}
注意url()用法之间的区别。在我的示例中,我从磁盘加载图像,而不是我认为更合适的嵌入式资源系统。如果您以 (:/...) 开头的 url,它将从嵌入式资源系统加载。
然后加载您的样式表,如下所示
QFile file("your path");
bool bOpened = file.open(QFile::ReadOnly);
assert (bOpened == true);
QString styleSheet = QLatin1String(file.readAll());
qApp->setStyleSheet (styleSheet);
我希望这有帮助。
我会推荐使用Qt 样式表。
您可以更改指标的大小:
QCheckBox::indicator {
width: 40px;
height: 40px;
}
您必须更改指标的图像,并提供具有相应大小的图像:
QCheckBox::indicator:checked {
image: url(:/images/checkbox_checked.png);
}
您还可以使用 Qt 设计器和样式表编辑器进行更改。右键单击 QCheckbox,然后选择Change styleSheet 。
我用这个:
eyeChk = new QCheckBox("Eyes:");
_eyeChk->setStyleSheet("QCheckBox::indicator { width:150px; height: 150px;} QCheckBox::indicator::checked {image: url(/home/jvdglind/Downloads/280px-PNG_transparency_demonstration_2.png);}");
并且刚刚找到了不错的默认复选框图像。