QSS 介绍


一、自定义 widget 的两种方式

自定义 widget 外观的方式有两种:

  1. 子类化 QStyle
  2. 使用 Qt Style Sheets 机制

Qt Style Sheets 是一种强大的机制,其概念、术语、语法与 CSS 类似。

注意:如果同时设置了 qss 和 widget 的外观函数,如 setFont(),则 qss 优先。


二、一个简单示例

Style sheets(样式表)是一种文本规范,既可以调用 QApplication::setStyleSheet() 将样式应用于整个程序中的所有 widget,也可以使用 QWidget::setStyleSheet() 单独设置某个 widget。如果同一个 widget 设置了多个 qss,则 Qt 会从这些设置中派生出有效的样式表,称为“cascading(级联)”。

例如,以下规则指定了:所有的 QLineEdit 的背景色为黄色,所有的 QCheckBox 文本为红色:

QLineEdit { background: yellow }
QCheckBox { color: red }


三、QSS 比 QPalette 强大

QPalette 调色板与平台相关,例如同一个窗口在 windows、macOS 上会有不同的样式。而 QSS 保证在所有平台上具有相同的外观

这是因为 QSS 作用在 widget 当前样式之上。在绘制 widget 时,paintEvent() 中会调用 QWidget::style() 来绘制外观。如果没有设置 qss,则 style() 会返回特定于平台的样式,例如在 Windows 上为 QWindowsVistaStyle;如果设置了 qss,那么 Qt 也会返回一个 QStyle,只不过其中包含了 qss 的设置。


四、使用 Qt Designer 方便查看 qss 效果

此外,在 Qt Designer 中可以方便的查看设置 qss 后的效果。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
QSSQt Style Sheets)是一种类似于CSS的样式表语言,用于定义Qt应用程序的样式。下面是QSS文件的格式详细介绍: 1. 注释:与CSS一样,QSS也支持注释,注释以“/*”开头,“*/”结尾。 2. 选择器:QSS中的选择器与CSS中的选择器类似,用于选择需要应用样式的控件。常见的选择器包括: - 类型选择器:用于选择控件类型,例如QPushButton、QLabel等。 - ID选择器:用于选择具有唯一ID的控件,例如#myButton。 - 类选择器:用于选择具有相同类名的控件,例如.button。 - 属性选择器:用于选择带有指定属性的控件,例如QPushButton[flat="true"]。 3. 属性:QSS中的属性与CSS中的属性类似,用于设置控件的样式。常见的属性包括: - Color:设置文本颜色。 - Background-color:设置背景颜色。 - Border:设置边框样式。 - Font:设置字体样式。 - Margin、Padding:设置控件的外边距和内边距。 4. 值:QSS中的值与CSS中的值类似,用于设置属性的具体值。常见的值包括: - 颜色值:使用RGB或16进制表示。 - 字体值:使用字体名称、大小、粗细等属性表示。 - 尺寸值:使用像素、百分比、自适应等单位表示。 总之,QSS文件是一种用于定义Qt应用程序样式的样式表语言,支持注释、选择器、属性和值等基本元素。通过编写QSS文件,可以轻松地修改Qt应用程序的外观和风格。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值