Qt样式表使用总结2,基本语法

0,简介

 

本文只是简单介绍下最常用的qss写法,方便新手快速上手,不会完整涵盖所有语法知识点。

希望新手以20%的时间了解到80%使用率的技能,细枝末节的内容在实践中慢慢接触即可。

 

1,最简单的写法

 

qss语法大致沿袭css,最简单的写法:

选择器{
属性:值; 
属性:值; 
... 
属性:值; 
}
QPushButton{
    border:1px solid #8B7E66;
    background:#1C86EE;
    color:white;
}

会对所有按钮都应用样式:背景色浅蓝色、文字颜色白色、边框1像素实线米灰色。

 

2,常用属性

 

背景色:background:#1C86EE;

文本色:color:white;

边框:border:1px solid #8B7E66;

边框圆角:border-radius: 4px;

单独设置四个边框:

border-left:1px solid red; 
border-right:1px solid red; 
border-top:1px solid green; 
border-bottom:1px solid green;

内边距:

padding:10px 5px 15px 20px;
padding-left: 5px;
padding-right: 5px;
padding-top: 5px;
padding-bottom: 5px;

外边距:

margin:10px 5px 15px 20px;
margin-left: 5px;
margin-right: 5px;
margin-top: 5px;
margin-bottom: 5px;

宽高:

width: 100px;
height: 20px;

某种状态下的图片:image: url(:/image/ok.png);

字体:

font-family:"Microsoft YaHei";
font-size:12px;
font-weight:bold;

 

3,用控件名或属性进行筛选

 

如让样式只对btnOK和btnCancel 两个名称的按钮应用生效。

QPushButton#btnOK,#btnCancel{
    border:1px solid #8B7E66;
    background:#1C86EE;
    color:white;
}

 

以上大部分情况下够用了,不过有时候通过属性过滤可能更方便:

QPushButton[xxx="abc"]{
    border:1px solid #8B7E66;
    background:#1C86EE;
    color:white;
}

该按钮需设置属性xxx="abc":

ui->pushButton->setProperty("xxx","abc");

 

4,控件的不同状态

 

不同的控件可能有各种状态,一般对应不同的样式:

伪类说明
:disabledWidget 被禁用时
:enabledWidget 可使用时
:focusWidget 得到输入焦点
:hover鼠标放到 Widget 上
:pressed鼠标按下时
:checked被选中时
:unchecked未选中时
:has-childrenItem 有子 item,例如 QTreeView 的 item 有子 item 时
:has-siblingsItem 有 兄弟,例如 QTreeView 的 item 有兄弟 item 时
:open打开或展开状态,例如 QTreeView 的 item 展开,QPushButton 的菜单弹出时
:closed关闭或者非展开状态
:onWidget 状态是可切换的(toggle), 在 on 状态
:offWidget 状态是可切换的(toggle), 在 off 状态

如QPushButton就有正常、鼠标滑过(hover)、鼠标按下(pressed)等状态。

QCheckBox有checked、unchecked等。

QLineEdit的禁用状态disabled和可用状态enabled 也需要明显的样式区分。

QPushButton{
    background:#EE6AA7;
    border:1px solid #8B7E66;
    border-radius:5px;
    color:white;
}
QPushButton:hover{
    background:#FF6EB4;
}
QPushButton:pressed{
    background:#CD6090; 
}

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆枫゛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值