qt 用setStyleSheet重写QCheckBox的勾选框颜色并且打勾是系统默认样式。
要重写QCheckBox的勾选框颜色,可以使用setStyleSheet方法设置样式表。以下是一个例子:
QCheckBox *checkBox = new QCheckBox("My Checkbox");
checkBox->setStyleSheet("QCheckBox::indicator:checked {background-color: red;} QCheckBox::indicator:unchecked {background-color: green;}");
这将设置勾选框的背景颜色,当选中时为红色,未选中时为绿色。如果要使用系统默认样式来显示勾选框,可以使用以下样式表:
QCheckBox *checkBox = new QCheckBox("My Checkbox");
checkBox->setStyleSheet("QCheckBox::indicator {background-color: transparent;}");
这将使勾选框的背景颜色为透明,从而显示系统默认的勾选框样式。
qt 用setStyleSheet重写QCheckBox的勾选框颜色并且打勾是默认样式。
可以使用 setStyleSheet
方法来设置 QCheckBox
的勾选框颜色和打勾样式。具体方法是通过 QCheckBox::indicator
选择器来选择勾选框样式,并设置 background-color
、border
和 border-radius
等属性来修改样式,同时设置勾选状态下的打勾为默认样式。
下面是一个示例代码,将 QCheckBox
的勾选框样式设置为紫色的圆形,并设置勾选状态下的打勾为默认样式:
QCheckBox* checkBox = new QCheckBox("My CheckBox");
checkBox->setStyleSheet(
"QCheckBox::indicator {"
" width: 20px;"
" height: 20px;"
" border: 2px solid purple;"
" border-radius: 10px;"
" background-color: white;"
"}"
"QCheckBox::indicator:checked {"
" background-color: purple;"
"}"
"QCheckBox::indicator:checked:disabled {"
" background-color: transparent;"
" border: none;"
" image: url(:/qt-project.org/styles/commonstyle/images/checked.png);"
"}"
);
在上面的示例中,我们设置了勾选框的宽度和高度,设置了边框的样式、颜色和圆角半径,并且在勾选状态下设置了背景色为紫色。同时,我们还通过 QCheckBox::indicator:checked:disabled
选择器设置了勾选状态下的打勾为默认样式,并将默认的打勾图片设置为 checked.png
。
需要注意的是,使用 setStyleSheet
方法设置样式时,要注意样式表的优先级问题,可能会影响到其他控件的样式。如果需要更加复杂的自定义样式,建议使用重写 QStyle
类的方法。
qt 用setStyleSheet重写QCheckBox的勾选框颜色并且打勾为默认样式。
可以使用 setStyleSheet
方法来设置 QCheckBox
的勾选框颜色和打勾样式。具体方法是通过 QCheckBox::indicator
选择器来选择勾选框样式,并设置 background-color
、border
和 border-radius
等属性来修改样式,同时设置勾选样式为默认的样式。
下面是一个示例代码,将 QCheckBox
的勾选框样式设置为红色的圆形,并设置勾选状态下的打勾为默认样式:
QCheckBox* checkBox = new QCheckBox("My CheckBox");
checkBox->setStyleSheet(
"QCheckBox::indicator {"
" width: 20px;"
" height: 20px;"
" border: 2px solid red;"
" border-radius: 10px;"
" background-color: white;"
"}"
"QCheckBox::indicator:checked {"
" background-color: red;"
"}"
"QCheckBox::indicator:checked:disabled {"
" background-color: transparent;"
" border: none;"
" image: url(:/images/checked.png);"
"}"
);
在上面的示例中,我们设置了勾选框的宽度和高度,设置了边框的样式、颜色和圆角半径,并且在勾选状态下设置了背景色为红色。同时,我们还通过 QCheckBox::indicator:checked:disabled
选择器设置了勾选状态下的打勾为默认样式,并将勾选框样式设置为透明,去掉边框。
需要注意的是,使用 setStyleSheet
方法设置样式时,要注意样式表的优先级问题,可能会影响到其他控件的样式。如果需要更加复杂的自定义样式,建议使用重写 QStyle
类的方法。
相关推荐
















