作者:丁林松,讲师。
子控提供了访问子子元素的功能, 例如通常的时候一个按钮将会管理一个菜单,
QPushButton#evilButton::menu-indicator {
image: url(myindicator.png);
}
同时如果美化一个按钮的话, 那么将可以通过定位符来确定美化按钮的路径, 通常可以是一个图片。
QPushButton::menu-indicator {
image: url(myindicator.png);
subcontrol-position: right center;
subcontrol-origin: padding;
left: -2px;
}
经过以上的设置那么QPushButton 将会在方格的中心显示一个myindicator.png 的图片。
复杂的选择区域的例子:
当应对于一个用户可可编辑可输入的部件的时候, 将需要设计到用户选择区域的颜色设置, 与类型设置, 下面将通过使用QLineEdit 部件来进行演示:
QLineEdit { color: red }
QLineEdit{color:red}
QLineEdit[readOnly="true"]{color:gray}
在团队开发的时候, 需要设计到不同颜色的设置, 或者说不同类型的设置, 那么就需要在样式编辑当中有多种选择, 将不需要的那部分, 注释掉:
QLineEdit { color: red }
QLineEdit[readOnly="true"] { color: gray }
#registrationDialog QLineEdit { color: brown }
自定义制定的部件
这个部分提供了一些自定义特殊部件的某种样式
定制QAbstractScrollArea
比如说一些QAbstractScrollArea 类, 例如 QTextEdit 与QTextBrowser . 同时可以使用后台的属性来进行设置。 例如来设置一个 背景图片。
QTextEdit, QListView {
background-color: white;
background-image: url(/draft.png);
background-attachment: scroll;
}
下面的代码是让背景图片与可浏览的区域大小相同:
QTextEdit, QListView {
background-color: white;
background-image: url(/draft.png);
background-attachment: fixed;
}
给QCheckBox 做样式
QCheckBox 与QRadioButton 具有想色的属性, 他们之间的不同时QCheckBox是返回当前的状态:
QCheckBox {
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_hover.png);
}
QCheckBox::indicator:checked:pressed {
image: url(/:/images/checkbox_checked_pressed.png);
}
QCheckBox::indicator:indeterminate:hover {
image: url(/:/images/checkbox_indeterminate_hover.png);
}
QCheckBox::indicator:indeterminate:pressed {
image: url(/:/images/checkbox_indeterminate_pressed.png);
}