Qt样式表详解:属性类型

属性——图片、图标、颜色、文本、边距、填充属性

1、color:用于呈现文本的颜色。如果未设置此属性,则默认值为QWidget :: foregroundRole设置的值(通常为黑色)。

2、selection-background-color:所选文本或项目的背景。如果未设置此属性,则默认值是为调色板的Highlight角色设置的值。例:

QTextEdit { selection-background-color: darkblue }

3、selection-color:所选文本或项目的前景。如果未设置此属性,则默认值是为调色板的HighlightedText角色设置的值。例:

QTextEdit { selection-color: white }

4、icon:图标,暂时只支持QPushButton。(加上qproperty-前缀才管用)从Qt5.15开始使用的属性。

5、icon-size:图标尺寸。以下控件可以使用此属性:

  • QCheckBox
  • QListView
  • QPushButton
  • QRadioButton
  • QTabBar
  • QToolBar
  • QToolBox
  • QTreeView

例:

QPushButton
{
qproperty-icon: url(:/D:/a.png);
icon-size: 500px 500px;
}

6、image:在子控件的内容矩形中绘制的图像。使用与QIcon相同的算法确定绘制的实际图像(即,图像从不放大,但在必要时始终按比例缩小)。如果指定了svg,则图像将缩放为内容矩形的大小。在子控件上设置image属性会隐式设置子控件的宽度和高度(除非SVG中的图像)。此属性仅用于子控件。例:

QSpinBox::down-button {
image: url(:/D:/a.png)
}

7、image-position:图片位置,仅用于子控件。例:

QSpinBox::down-button {
image: url(:/D:/a.png);
image-position:bottom right;
}

8、text-align:文本和图标的对齐方式。例:

QPushButton
{
qproperty-icon: url(:/D:/a.png);
icon-size: 500px 500px;
text-align:left;
}

9、text-decoration:文本附加属性。

  • none:无
  • underline:下划线
  • overline:上划线
  • line-through:删除线

10、margin:部件的边距。如果未指定此属性,则默认为0。

例:

QLineEdit { margin: 2px }

11、margin-top、margin-right、margin-bottom、margin-left:各个边的边距。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取 

12、padding:小部件的填充宽度。如果未指定此属性,则默认为0。例:

QLineEdit { padding: 3px }

13、padding-top、padding-right、padding-bottom、padding-left:各个边的填充宽度。

属性类型的一些知识点

1、设置盒子模式相关颜色类的属性可以一次设置多个方向的,顺序为上、右、下、左。如果未指定左侧颜色,则将其与右侧颜色相同。 如果未指定底色,则将其与顶色相同。 如果未指定正确的颜色,则该颜色应与顶部的颜色相同。例如:

QLabel { border-color: red } /* red red red red */
QLabel { border-color: red blue } /* red blue red blue */
QLabel { border-color: red blue green } /* red blue green blue */
QLabel { border-color: red blue green yellow } /* red blue green yellow */

2、盒子模式尺寸相关的属性也有类似的规则:

QLabel { border-width: 1px } /* 1px 1px 1px 1px */
QLabel { border-width: 1px 2px } /* 1px 2px 1px 2px */
QLabel { border-width: 1px 2px 3px } /* 1px 2px 3px 2px */
QLabel { border-width: 1px 2px 3px 4px } /* 1px 2px 3px 4px */

3、颜色设置可以有多种方式:

QLabel { border-color: red } /* opaque red */
QLabel { border-color: #FF0000 } /* opaque red */
QLabel { border-color: rgba(255, 0, 0, 75%) } /* 75% opaque red */
QLabel { border-color: rgb(255, 0, 0) } /* opaque red */
QLabel { border-color: rgb(100%, 0%, 0%) } /* opaque red */
QLabel { border-color: hsv(60, 100%, 100%) } /* opaque yellow */
QLabel { border-color: hsva(240, 255, 255, 75%) } /* 75% blue */
QLabel { border-color: hsl(60, 100%, 50%) } /* opaque yellow */
QLabel { border-color: hsla(240, 255, 50%, 75%) } /* 75% blue */

4、颜色、背景等可以设置为渐变类型:QT绘图:渐变 这个用来设置窗口背景是不错用法。

  • qlineargradient:线性渐变。
  • qradialgradient:辐射渐变。
  • qconicalgradient:锥形渐变。
QWidget
{
background: qlineargradient(x1:0, y1:0, x2:1, y2:1,
stop:0 white, stop: 0.4 gray, stop:1 green)
}

 

QWidget
{
background: qconicalgradient(cx:0.5, cy:0.5, angle:30,
stop:0 white, stop:1 #00FF00)
}

焦点在(0,0)

QWidget
{
background: qradialgradient(cx:0, cy:0, radius: 1,
fx:0, fy:0, stop:0 white, stop:1 green)
}

焦点在(0.5,0.5):

QWidget
{
background: qradialgradient(cx:0, cy:0, radius: 1,
fx:0.5, fy:0.5, stop:0 white, stop:1 green)
}

5、颜色类的属性可以为QWidget的QPalette的部分调色板角色的颜色。实用QPalette

支持设置如下角色:

  • alternate-base
  • base
  • bright-text
  • button
  • button-text
  • dark
  • highlight
  • highlighted-text
  • light
  • link
  • link-visited
  • mid
  • midlight
  • shadow
  • text
  • window
  • window-text

例:

QPushButton { color: palette(dark); }

6、border-radius等相关类似的属性可以设置2个值。如果仅指定一个值,则将其用作定义角的四分之一圆的半径。 如果指定了两个值,则第一值是四分之一椭圆的水平半径,而第二值是垂直半径。

 

QPushButton{
border-radius:60px;
}
QPushButton{
border-radius:60px 10px;
}

 本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取

原文链接:https://blog.csdn.net/kenfan1647/article/details/115533310

猜你喜欢

转载自blog.csdn.net/hw5230/article/details/131926698