QWidget对stylesheet支持,需要重载void paintEvent(QPaintEvent *event)
void paintEvent(QPaintEvent *event)
{
QStyleOption styleOption;
styleOption.initFrom(this);
QPainter painter(this);
style()->drawPrimitive(QStyle::PE_Widget, &styleOption, &painter, this);
QWidget::paintEvent(event);
}
QPushButton、QLabel:
QString("background-color:rgba(0, 0, 0, 0.2);" //背景色
"border-radius: %1px;" //边框圆角半径
"border: %2px solid #FFFF00;" //边框线宽 样式 颜色
"font-family: Microsoft YaHei;" //字体样式
"font-size" %2px;" //字体大小
"color: #666666;") //字体颜色
.arg(int(2.5)) //此处为整数,若为浮点数则不起作用。
.arg(16))
QScrollBar(水平、垂直),以垂直为例:
QString("QScrollBar:vertical {"
"width:%2px;"
"padding-right:0px;"
"background: #F5F6F7;"
"margin: 0px 0px 0px 0px;"
"border-radius: %1px;"
"border: none;}"
"QScrollBar::handle:vertical {"
"background: rgba(0,0,0,20);"
"border-radius: %1px;"
"border: none;"
"}"
"QScrollBar::add-line:vertical {"
"background: transparent;"
"height: 0px;"
"subcontrol-position: bottom;"
"subcontrol-origin: margin;"
"}"
"QScrollBar::sub-line:vertical {"
"background: transparent;"
"height: 0px;"
"subcontrol-position: top;"
"subcontrol-origin: margin;"
"}"
"QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical {"
"border: 1px solid grey;"
"width: %1px;"
"height: %1px;"
"background: white;"
"}"
"QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {"
"background: none;}")
.arg(int())
.arg(int())
QCheckBox
QString("QCheckBox{border:none;"
"color:#333333;"
"font-family: Microsoft YaHei;"
"font-size: %0px;}"
"QCheckBox::indicator{"
"width:%1; height:%1;}"
"QCheckBox::indicator:unchecked{"
"border-image:url(/*图片路径*/);}"
"QCheckBox::indicator:unchecked:hover{"
"border-image:url(/*图片路径*/);}"
"QCheckBox::indicator:checked{"
"border-image:url(/*图片路径*/);}"
"QCheckBox::indicator:checked:hover{"
"border-image:url(/*图片路径*/);}")
.arg(int())
.arg(int())