原创 Qt 类型编辑实例-指定QPushButton 菜单指示器的子控制

2010-1-4 11:55 2037 2 2 分类: MCU/ 嵌入式

 


作者:丁林松,华清远见嵌入式学院讲师。


子控提供了访问子子元素的功能, 例如通常的时候一个按钮将会管理一个菜单,


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);
        }

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /2 下一条