问题标签 [qtstylesheets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2090 浏览

c++ - [Qt]如何支持:自定义小部件样式表的按下状态?

我有的 :-

我有一个扩展 QFrame 的自定义小部件(而不是 QWidget,因为 QFrame 已经有一个工作的paintEvent 实现)。我已经覆盖了 mousePressed() 和 mouseReleased() 以发出按下的() 释放() 和 clicked() 信号。到目前为止,一切都按预期运行良好。

我需要的 :-

这个自定义小部件具有基本的样式表支持,并且很好地支持 :hover 状态。但是 :pressed 状态不起作用。我已经发现这是因为 QFrame/QLabel 等不支持它。我想知道我需要做什么才能支持 :pressed 状态。我应该在按下和释放或其他任何东西上设置一些属性/属性吗?

0 投票
4 回答
4522 浏览

qt - Qt 对样式表性能的影响

我想知道是否可以比在 Qt 应用程序中使用我的方法更快地加载样式表。

这是我的代码:

执行这个简单的 css/qss 样式需要 270 毫秒。

使用此导入方法具有更大的 qss 样式

这个命令

花了 330 毫秒,所以考虑到执行的 css 样式块的差异,这还不错。

所以看起来 setStyleShet 命令的 init 很长。我的问题是:有没有办法加速这个命令(不使用 Qstring,其他导入方法,......)或通过线程?

对我来说,这是巨大的,因为我需要经常更新我的样式表,而且它所花费的时间与我执行的所有逻辑一样多。

谢谢。祝你今天过得愉快 :)

0 投票
1 回答
1252 浏览

qt - 更改父伪状态的后代 QLabel 属性

我已经彻底阅读了文档并搜索了谷歌和 stackoverflow 等熟悉的域已经有一段时间了。不幸的是,这一切都没有找到任何解决方案。所以我希望这里有人可能是我的救世主..

情况:

我正在使用:PyQt4、Python 2.6、Windows 7

我正在尝试设置 QLabel 的样式(使用我在程序中导入的 CSS 文件)。QLabel 在 QListWidgetItem 中。

所以我的结构如下:

因此,根据文档,访问 QLabel 的方式如下。这里没问题。

问题:

但是,我希望 QLabel 样式仅在悬停 QListWidgetItem 时更改。使用下面的代码,伪状态会因为某种原因被忽略。因此,背景颜色被应用于 QLabels,但它不尊重伪状态。

当我单独运行我的应用程序时,这种情况仍然存在。

什么不是解决方案:

  • 将 QLabel 伪状态设置为悬停将不起作用,因为 QListWidgetItem 比 QLabel 高。

主要问题:

有没有办法在且仅当 QListWidgetItem 悬停时更改 QLabel 的样式属性,如何实现?

这里的目标是仅通过 css(或 qss,如果您愿意)来完成,这是一个单独的文件,可以导入到程序中。

资料来源:

qss 文档:http ://doc.qt.digia.com/4.6/stylesheet-syntax.html

0 投票
1 回答
14855 浏览

qt - Qt StyleSheet 文本对齐

我正在尝试更改 QGroupbox 的外观。问题在于它的边界。更改样式表后,组框的文本不再与边框对齐。如何解决?

在第一张图片中,边框与文本很好地对齐:

这个QGroupBox相关的样式表是这样的:

在第二张图片中,边框与文本底部对齐:

上面QGroupBox相关的样式表是这样的:

如您所见,当我添加边框相关参数时,文本对齐方式会发生某种变化。我想要第一种样式,但文本与边框正确对齐。怎么了?

谢谢。

0 投票
2 回答
2376 浏览

c++ - 在 Qt 中为整个小部件设置样式表

我有一个自定义小部件,它继承自 QWidget 并在其布局中包含一些标签。每次我将鼠标放在它上面时,我都想更改小部件的背景颜色和小部件中的标签(这就是一切!)。

在我的自定义小部件中使用*:hover { background: red; }时,我只会在将鼠标移到标签上时将内容变为红色,但不会在标签之外、标签之间等。考虑到我将 StyleSheet 放在父小部件中,我不理解这种行为.

有任何想法吗?非常感谢,

0 投票
2 回答
3409 浏览

qt - 如何使用 QStyle 和指定的 QSS 绘制控件?

我正在尝试在QStyledItemDelegate. 我希望不使用原生外观绘制复选框,而是使用qApp->setStyleSheet(). 我不知道为什么,但是当我用QStyle::drawPrimitive- 它绘制控件时,它不会拾取全局 qss。

有没有解决方案,如何手动绘制具有应用程序样式的复选框?

以下代码和屏幕截图演示了我的问题:

复选框示例

第一个复选框是用 绘制的QStyle::drawPrimitive,第二个复选框是小部件。

注意:可以创建不可见的复选框并使用QPixmap::grabWidget,但是这种方法太重了。

0 投票
0 回答
638 浏览

css - Qt CSS图像在同一小部件​​的背景上?(团队演讲主题)

我正在尝试为 TeamSpeak 3 创建一个新主题,我需要一个具有透明背景的图像来悬停和缩放背景。我该怎么做呢?

我尝试在背景图像:下添加常规图像:,图像位置:等,但它不起作用。

编辑:这是我需要添加图像的聊天的 CSS。

0 投票
1 回答
9381 浏览

qt - 如何设置影响按钮大小的 QPushButton 样式表?

当我使用以下样式表 QApplication::setStyleSheet()

所有按钮的大小都被截断为文本的大小。例如,确定按钮变成了方形。效果与我在 QPushButton 上尝试的任何其他样式表相同。如何设置按钮样式表而不影响其默认大小?

0 投票
1 回答
412 浏览

qt - Qt:如何为不可编辑的 QComboBox 的高亮设置动画?

我希望在每次更改(由应用程序内部生成)时以某种方式突出显示某些窗口控件以指示用户。

我找到了一个不错的方法:通过调色板和 QVariantAnimation 操作背景颜色。唯一引起大问题的小部件是 QComboBox,因为它的背景颜色需要非常棘手的处理。改变它的唯一(!)平台独立且正确的方法是应用此hack并设置样式表的“背景颜色”属性。问题是从样式表中获取默认值,需要将颜色平滑地设置回初始状态。

有没有办法以“uni-widget”方式处理这个问题(更具体地说:QAbstractButton、QLineEdit、QComboBox、QSlider、QListView、QGroupBox)?也许有其他方法可以为小部件的突出显示设置动画?

0 投票
1 回答
1373 浏览

qt - 如何在小部件中强制伪状态

我有我的自定义小部件,我在其中定义了我的样式表,如下所示:

这在我将鼠标移动到小部件上时有效,但是当我将另一个小部件拖到第一个小部件上时我没有这种行为。

我已经捕获了该DragMove事件,但无法确定发送类似mouseHover事件的内容(MouseMove事件似乎不起作用)。

这可能吗?当我拖动另一个小部件时,还有另一种使用样式表的方法吗?