问题标签 [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.
c++ - [Qt]如何支持:自定义小部件样式表的按下状态?
我有的 :-
我有一个扩展 QFrame 的自定义小部件(而不是 QWidget,因为 QFrame 已经有一个工作的paintEvent 实现)。我已经覆盖了 mousePressed() 和 mouseReleased() 以发出按下的() 释放() 和 clicked() 信号。到目前为止,一切都按预期运行良好。
我需要的 :-
这个自定义小部件具有基本的样式表支持,并且很好地支持 :hover 状态。但是 :pressed 状态不起作用。我已经发现这是因为 QFrame/QLabel 等不支持它。我想知道我需要做什么才能支持 :pressed 状态。我应该在按下和释放或其他任何东西上设置一些属性/属性吗?
qt - Qt 对样式表性能的影响
我想知道是否可以比在 Qt 应用程序中使用我的方法更快地加载样式表。
这是我的代码:
执行这个简单的 css/qss 样式需要 270 毫秒。
使用此导入方法具有更大的 qss 样式
这个命令
花了 330 毫秒,所以考虑到执行的 css 样式块的差异,这还不错。
所以看起来 setStyleShet 命令的 init 很长。我的问题是:有没有办法加速这个命令(不使用 Qstring,其他导入方法,......)或通过线程?
对我来说,这是巨大的,因为我需要经常更新我的样式表,而且它所花费的时间与我执行的所有逻辑一样多。
谢谢。祝你今天过得愉快 :)
qt - 更改父伪状态的后代 QLabel 属性
我已经彻底阅读了文档并搜索了谷歌和 stackoverflow 等熟悉的域已经有一段时间了。不幸的是,这一切都没有找到任何解决方案。所以我希望这里有人可能是我的救世主..
情况:
我正在使用:PyQt4、Python 2.6、Windows 7
我正在尝试设置 QLabel 的样式(使用我在程序中导入的 CSS 文件)。QLabel 在 QListWidgetItem 中。
所以我的结构如下:
因此,根据文档,访问 QLabel 的方式如下。这里没问题。
问题:
但是,我希望 QLabel 样式仅在悬停 QListWidgetItem 时更改。使用下面的代码,伪状态会因为某种原因被忽略。因此,背景颜色被应用于 QLabels,但它不尊重伪状态。
当我单独运行我的应用程序时,这种情况仍然存在。
什么不是解决方案:
- 将 QLabel 伪状态设置为悬停将不起作用,因为 QListWidgetItem 比 QLabel 高。
主要问题:
有没有办法在且仅当 QListWidgetItem 悬停时更改 QLabel 的样式属性,如何实现?
这里的目标是仅通过 css(或 qss,如果您愿意)来完成,这是一个单独的文件,可以导入到程序中。
资料来源:
qt - Qt StyleSheet 文本对齐
我正在尝试更改 QGroupbox 的外观。问题在于它的边界。更改样式表后,组框的文本不再与边框对齐。如何解决?
在第一张图片中,边框与文本很好地对齐:
这个QGroupBox相关的样式表是这样的:
在第二张图片中,边框与文本底部对齐:
上面QGroupBox相关的样式表是这样的:
如您所见,当我添加边框相关参数时,文本对齐方式会发生某种变化。我想要第一种样式,但文本与边框正确对齐。怎么了?
谢谢。
c++ - 在 Qt 中为整个小部件设置样式表
我有一个自定义小部件,它继承自 QWidget 并在其布局中包含一些标签。每次我将鼠标放在它上面时,我都想更改小部件的背景颜色和小部件中的标签(这就是一切!)。
在我的自定义小部件中使用*:hover { background: red; }
时,我只会在将鼠标移到标签上时将内容变为红色,但不会在标签之外、标签之间等。考虑到我将 StyleSheet 放在父小部件中,我不理解这种行为.
有任何想法吗?非常感谢,
qt - 如何使用 QStyle 和指定的 QSS 绘制控件?
我正在尝试在QStyledItemDelegate
. 我希望不使用原生外观绘制复选框,而是使用qApp->setStyleSheet()
. 我不知道为什么,但是当我用QStyle::drawPrimitive
- 它绘制控件时,它不会拾取全局 qss。
有没有解决方案,如何手动绘制具有应用程序样式的复选框?
以下代码和屏幕截图演示了我的问题:
第一个复选框是用 绘制的QStyle::drawPrimitive
,第二个复选框是小部件。
注意:可以创建不可见的复选框并使用QPixmap::grabWidget
,但是这种方法太重了。
css - Qt CSS图像在同一小部件的背景上?(团队演讲主题)
我正在尝试为 TeamSpeak 3 创建一个新主题,我需要一个具有透明背景的图像来悬停和缩放背景。我该怎么做呢?
我尝试在背景图像:下添加常规图像:,图像位置:等,但它不起作用。
编辑:这是我需要添加图像的聊天的 CSS。
qt - 如何设置影响按钮大小的 QPushButton 样式表?
当我使用以下样式表 QApplication::setStyleSheet()
所有按钮的大小都被截断为文本的大小。例如,确定按钮变成了方形。效果与我在 QPushButton 上尝试的任何其他样式表相同。如何设置按钮样式表而不影响其默认大小?
qt - Qt:如何为不可编辑的 QComboBox 的高亮设置动画?
我希望在每次更改(由应用程序内部生成)时以某种方式突出显示某些窗口控件以指示用户。
我找到了一个不错的方法:通过调色板和 QVariantAnimation 操作背景颜色。唯一引起大问题的小部件是 QComboBox,因为它的背景颜色需要非常棘手的处理。改变它的唯一(!)平台独立且正确的方法是应用此hack并设置样式表的“背景颜色”属性。问题是从样式表中获取默认值,需要将颜色平滑地设置回初始状态。
有没有办法以“uni-widget”方式处理这个问题(更具体地说:QAbstractButton、QLineEdit、QComboBox、QSlider、QListView、QGroupBox)?也许有其他方法可以为小部件的突出显示设置动画?
qt - 如何在小部件中强制伪状态
我有我的自定义小部件,我在其中定义了我的样式表,如下所示:
这在我将鼠标移动到小部件上时有效,但是当我将另一个小部件拖到第一个小部件上时我没有这种行为。
我已经捕获了该DragMove
事件,但无法确定发送类似mouseHover
事件的内容(MouseMove
事件似乎不起作用)。
这可能吗?当我拖动另一个小部件时,还有另一种使用样式表的方法吗?