Qt样式表

Qt样式表(QSS)类似CSS,用于自定义Qt控件样式。文章详细介绍了选择器类型、子控件、伪状态、冲突解决、级联、继承等语法规则,并探讨了常用属性如Box Model的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

QStyle sheet Qt样式表

​ Qt样式表(Qt Style Sheet)是由Qt提供的一套用于定义Qt控件的工具,和CSS的语法类似,用户通过定义QSS可以使用户自定义Qt控件的样式。

1.语法规则

选择器类型

选择器 例子 描述
通用选择器 * 对所有Widget有效
类型选择器 QPushButton 对所有QPushButton的实例以及所有的QPushButton的子类型实例有效
属性选择器 QPushButton[flat=“false”] 对所有QPushButton中flat属性为false的实例有效。
类选择器 .QPushButton 对所有QPushButton的实例有效,但是对QPushButton的子类型实例无效。和*[class ~= “QPushButton”]等效
ID选择器 QPushButton#okButton 对QPushButton中对象名为OKButton的实例有效。
后代选择器 QDialog QPushButton 对所有的QDialog后代类型有效中的QPushButton实例有效(子类型,孙子类型等)
子选择器 QDialog > QPushButton 对QDialog的子类型中的QPushButton实例有效。但是不包括孙子类型。

子控件(Sub-Controls)

​ 对于一些复杂的控件,Qt样式允许设置最小的子控件样式。

​ 子控件常常相对于其他元素(参考元素)进行定位,参考元素可以是Widget也可以是其他子控件(Sub-Controls)。举个例子,QComboBox的子控件::drop-down的默认位置为在QComboBox的Padding矩形(填充矩形)的右上角。dorp-down的默认位置在子控件drop-down的Contents矩形的中心位置。

​ 可以通过subcontrol-origin熟悉改变子控件的需要使用的原点矩形。例如,QComboBox的默认原点矩形为Padding矩形,想改变为Margin矩形(边距矩形)

QComboBox
{
    margin-right: 20px;
}
QComboBox::drop-down
{
    subcontrol-origin: margin;
}

​ 可以通过widthheight属性控制子控件的尺寸。注意:设置image属性会隐式的设置子控件的尺寸。

​ 设置相对位置策略(position:relative),可以调整子控件从其实原点的偏移值。例如,当QComboBoxdrop-down按钮被按下以后,可以通过设置一个偏移值,表现出按钮被按下的效果:

QComboBox::drop-down
{
   
   
    image:url(down_arrow.png);
}
QComboBox::drop-arrow:pressed
{
   
   
    position: relative;
    top:1px;
    left
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值