问题标签 [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 投票
1 回答
1096 浏览

qt - 为什么样式化 QT 小部件会使它们超出大小值?

自从我开始在 QT 上使用样式表以来,这是我一直在努力解决的问题。

我有这种风格:

这是我必须设置才能使其工作的代码。

是否有意义?。告诉大小两次?此按钮的大小始终相同。如果我将固定大小设置为小于 20,它无论如何都可以工作(因为它保持样式表的最小大小......所以这让我猜想样式表大小是优先的......)

但是为什么不直接告诉样式表中的大小。为什么要添加其他行?

有人可以解释一下这会发生什么吗?为什么要在 styletheet 上使用 min-width 以使其工作?为什么不给它有关背景的信息,让它像旧式按钮一样工作呢?

0 投票
1 回答
903 浏览

qt - 背景类型和颜色在 Qt 中不起作用

我有一个小部件,它的背景不是透明的,而是灰色的,正如您在这张图片中看到的那样:

灰色地带。 它设置为白色,但仍显示为灰色

我有一个带有布局的自定义小部件,ScrollArea里面有这种风格:

在一个通用QWidget的视口中看到(setWidget)这种风格:

如果我尝试一种颜色而不是透明的,它就不起作用。总是灰色的。我也试过 setAutoFillBackground(true) 但没用。(不管用样式,都不起作用)。

这两个容器的代码是这样的:

0 投票
2 回答
3981 浏览

qt - 将填充和边距设置为 0 不起作用

它只是一个容器,我想将小部件放入其中并隐藏它们并显示它们。我不希望它有任何边距或填充,它将是不可见的(没有边框,没有背景)

我通过样式表将 QWidget#container 设置为 margin:0px, padding:0px。并将 setObjectName("container") 设置为包含的所有小部件。

没发生什么事。但是设置背景颜色是有效的,所以它被执行了。

在哪些情况下会发生这种情况?如何解决这个问题?

0 投票
1 回答
2676 浏览

qt - 在paintEvent中绘制Qt控件并尊重样式表属性

Qt 中是否有一个类或方法来获取“border-color”、“border-style”等属性?

这对于基于当前选择的样式表创建和绘制自己的(派生的)控件可能很有用。

示例

编码:

QPushButtonCircle 将是一个圆形按钮。连边框都是圆形的。边框应为 3 像素宽,纯色和红色。背景应该是蓝色的。

我找不到任何方法期望在paintEvent中完全绘制并忽略任何样式表。但必须有更好的方法。

最好的应该是:

这将允许我们绘制自己的控件,例如:

一个更好的解决方案是使用QStyle::drawControl, QStyle::drawPrimitive... 来绘制类似的东西,但尊重 QPainterPath (或更简单的原语)而不是假设矩形控件。

在 Qt 中使用来自样式表的派生颜色创建所有者绘制控件的最佳方法是什么?

0 投票
1 回答
891 浏览

qt - QTabWidget 在顶部和右侧都有选项卡。

我有QTabWidget两个标签。我希望一个在东边,另一个在顶部。

我已经尝试过这些样式表,但到目前为止我还无法做到。

或者

或者

或者

谁能帮我?

0 投票
2 回答
6331 浏览

qt - Qt QCalendarWidget QSS 样式

我知道不支持QCalendarWidget QSS样式,但有人知道更改部分颜色的一些变通方法1吗?(部分为浅蓝色,部分为白色)2QCalendarWidget12

在此处输入图像描述

谢谢!

0 投票
1 回答
5717 浏览

qt - 是否可以在 Qt 样式表中指定不仅仅是“常规”和“粗体”版本的字体?

我有一种字体,它在一个系列中具有多种字体粗细(超轻、轻、常规、半粗体、粗体、黑色)。在这个例子中,我使用了免费的 Google Webfont Source Sans Pro,但是对于任何具有多个权重的字体(例如 Avenir Next,Mac OS 10.8 中的系统字体),我都遇到了同样的问题。在 Qt 样式表中,如果我指定:

我得到了字体的“常规”样式。如果我指定:

我得到了字体的粗体版本。除了常规或粗体之外,我想不出任何组合可以给我任何东西。我尝试将权重直接放在字体系列中(例如,字体系列:Source Sans Pro Light;),我尝试在字体重量:说明符中使用 Light、Semibold 等,我还尝试使用数字等价物(Qt 文档说它们应该是从 0 到 99 的值,而不是 CSS x00 编号)。没有任何效果。

编辑:我只是尝试编写一个快速程序来为 font-weight 属性添加 0 到 999 之间的数字。有趣的是,如果我输入 0 到 399 之间的任何值,我就能得到“光”。400 到 407 给了我“常规”,408 到 599 又给了我光,然后 600 或更高给了我半粗体。这看起来很奇怪,因为现在使用数字我至少可以访问“light”和“semibold”。我仍然找不到任何方法来获得“Extra Light”或“Black”权重。

我唯一的问题是,如果不求助于自定义代码,这是不可能的吗?我可以通过创建一个 QFont 来获得我想要的确切字体,如下所示:

但显然这意味着我不能使用样式表(或者更糟的是,我必须编写自己的样式表解析器或包装现有的 Qt 或其他东西)。这似乎有点难以置信,这对于样式表是不可能的。Qt 对多粗细字体的支持很差吗?

0 投票
0 回答
543 浏览

css - 按钮中的 css 属性不会在 :checked 中被覆盖?(Qt qss)

我在 Qt 4 中使用它。

两者的代码:

CHECKED 时的按钮永远不会改变。

图像在按钮中有一部分(6像素),当未选中按钮时,该部分被删除并且不显示。然后,当我检查该部分出现的按钮时。但发生的情况是它仍然具有 25 大小,并在底部显示 6 个像素。

很明显,发生的事情是 31px 不起作用。事实上,我尝试了 200px 并保持不变......

这是图像。如您所见,底部有一个阴影,我想在未选中时隐藏它。

我使用的图像

这里会发生什么。第一个工作正常。第二个问题。应该是完美的!作为原始图像。我用这个网站http://border-image.com/ 来检查它,并且工作正常。

结果

0 投票
2 回答
1887 浏览

qt - Qt, qss, 增加/减少字体大小

是否可以使用 qss 增加/减少字体大小?

0 投票
0 回答
91 浏览

qt - 无法从 qss 风格化的 QWidgets 获得实际大小

添加内容后,我无法获得在 QT 4.7 中使用 StyleSheet 进行样式化的小部件的实际大小。

例如,我想获得大小,所以我在显示时设置了小部件的偏移量,以便它定位良好。或许多其他示例。

它只是行不通。我总是得到 0。我尝试了 geometry()、fixedSize()...等。

你怎么做呢?