逆枫゛

Qt学习群:1149411109 群文件提供博客源码,定期答疑、更新学习资料。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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,控件的不同状态

 

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

伪类 说明
:disabled Widget 被禁用时
:enabled Widget 可使用时
:focus Widget 得到输入焦点
:hover 鼠标放到 Widget 上
:pressed 鼠标按下时
:checked 被选中时
:unchecked 未选中时
:has-children Item 有子 item,例如 QTreeView 的 item 有子 item 时
:has-siblings Item 有 兄弟,例如 QTreeView 的 item 有兄弟 item 时
:open 打开或展开状态,例如 QTreeView 的 item 展开,QPushButton 的菜单弹出时
:closed 关闭或者非展开状态
:on Widget 状态是可切换的(toggle), 在 on 状态
:off Widget 状态是可切换的(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; 
}

 

 

 

posted on 2019-10-08 16:49  逆枫゛  阅读(296)  评论(0编辑  收藏  举报