如何在QT中增加复选框大小而不是文本?
感谢。
答案 0 :(得分:15)
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);
我希望这会有所帮助。
答案 1 :(得分:12)
我建议使用Qt style sheet。
您可以更改指标的大小:
QCheckBox::indicator {
width: 40px;
height: 40px;
}
您必须更改指示器的图像,并提供具有相应尺寸的图像:
QCheckBox::indicator:checked {
image: url(:/images/checkbox_checked.png);
}
答案 2 :(得分:1)
我用过这个:
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);}");
刚刚找到合适的默认复选框图片。