偷偷学习qt 样式,然后写出惊艳所有人的界面

QT样式表

 qt样式表主要受到css的启发,通过调用QWidget:: setStyleSheet() 或 QApplication::setStyleSheet()来设置样式,也可以在界面的样式表中直接填写。

盒子模型(the Box Model)

 学习样式之前我们要先了解盒子模型,也是最基本的样式:

  • content  为最内部的矩形,通常是绘制文子、图片的地方。
  • padding 负责指定填充操作,主要是窗口部件内容,与边缘线(border)之间的空隙,它可以用top 、right、bottom、left 设置它的大小。
  • border 认为是窗口的外边框、你可把它当成门框。
  • margin 最外边的矩形,主要负责边缘区域,与窗口部分的距离。

如果没有指定它们四个,默认是4个重合在一起。

 我们来使用最简单布局,看看效果。

 对应样式表:

QLineEdit
{
	border:5px solid gray;
	border-radius: 10px;
	padding: 10 10 10 20px;
	background: yellow;
    selection-background-color: blue;
}

这里先可以不要理解其它的东西,后面会有对应表,上图中我们选中的字体,就是content 内容,padding 部分就是 参数上,右,底,左的方式,简单记住顺时针方式。border,就是上面灰色部分,我们可以修改 padding最后一个参数为30,看看效果。

我们可以看到明显的向右移动内容。这下有关盒子模型基本都了解了吧,

QSS基本写法:

selector {property: value}

 举例:

QLineEdit
{
	background:yellow;
}

多个选择器可以并列使用,它们之间用逗号隔开。

QPushButton,QLineEdit, QComboBox{ color: red }

如果是指定莫个选择器中的单独一个控件:

QLineEdit#lineEdit
{
	background:yellow;
}

其中 lineEdit 是对应的一个对象,我们常用# 加对象名字。

对应状态:

selector:status {property: value}

举例,当鼠标移动button上时候,颜色变成红色:

QPushButton:hover
{
    color:red;
}

子控件,当控件里面有子控件可以这样用:

QComboBox::drop-down
{
    
}

下面是常用的属性表:

属性说明
background在一个声明中设置所有的背景属性
background-color设置元素的背景颜色。
background-image

用于背部图片,可用于background-color添加透明度,QFrame{background-image: url(:/images/xxx.png);  }

background-repeat

无论是否指定重复的填充背景图片,用于盒模式,在没有指定的时候会(x,y)方向开始重复,使用方式

background-repeat:repeat-y;  延Y的背景图片。

background-position在盒子模型中指定位置图片的开始,background-position:bottom left; 显示在左下角开始显示
background-attachment描述背景图片是否在QAbstractScrollArea 的区域跟滚动条滚动,fixed是图片不跟滚动条
background-clip规定背景的绘制区域。
background-origin规定背景图片的定位区域。
background-size规定背景图片的尺寸。

常见的border 属性:

border设置部件的外框线
border-top简单设计部件上部的外框线
border-right 简单设计部件右部的外框线
border-bottom简单设计部件底部的外框线
border-left简单设计部件左部的外框线
border-color设计部件外框线的颜色
border-top-color设计部件上部的外框线颜色
border-right -color设计部件右部的外框线颜色
border-bottom-color设计部件底部的外框线颜色
border-left-color设计部件左部的外框线颜色
border-image设置4个角位置的image
border-radius外框线的角度
border-top-left-radius左上角的弧度
border-top-right-radius右上角的弧度
border-bottom-left-radius左下角的弧度
border-bottom-right-radius右下角的弧度
border-style设置四条边框的样式。
border- top-style这里top 可以写成 left bottom right,表示对应部分的样式
border-width设置边框的宽度值

常用的font属性:

font在一个声明中设置所有字体属性。
font-family字体集
font-size文本字体大小
font-style文本样式
font-weight文本字体的磅数

目前暂时记录到这里,后期有时间给大家继续更新,qt样式,让我们写出来更加漂亮的界面。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值