QCheckBox是一个常用而且简单的窗口部件,其用法可以参考《C++ GUI Qt4 编程》。下面说一下它的外观:
QDialog dialog;
QCheckBox checkBox(QObject::tr("hello"),&dialog);
QVBoxLayout layout(&dialog);
layout.addWidget(&checkBox);
dialog.setLayout(&layout);
得到效果图如下:
可以看到复选框是由勾选框和文本两部分组成。我们对两部分都可以定制。这里值得指出的是:QCheckBox的qss中可以使用spacing属性来定义勾选框和文本之间的距离。
使用如下的qss:
QCheckBox{
font:12px;
font-family:"Vrinda";
spacing: 5px;
}
QCheckBox::indicator {
width: 13px;
height: 13px;
}
QCheckBox::indicator:unchecked {
image: url(:/images/checkbox_unchecked.png);
}
QCheckBox::indicator:unchecked:hover {
image: url(:/images/checkbox_unchecked_hover.png);
}
QCheckBox::indicator:unchecked:pressed {
image: url(:/images/checkbox_unchecked_pressed.png);
}
QCheckBox::indicator:checked {
image: url(:/images/checkbox_checked.png);
}
QCheckBox::indicator:checked:hover {
image: url(:/images/checkbox_checked_

本文介绍了如何使用QSS和QStyle定制QCheckBox的外观,包括设置勾选框大小、状态样式、间距以及文本字体。通过示例展示了QSS中的spacing属性、不同状态下的勾选框定制,以及QStyle的drawControl方法在QCheckBox中的应用,解释了不能重新定位Indicator的原因。
最低0.47元/天 解锁文章
1596

被折叠的 条评论
为什么被折叠?



