Qt 4:如何设置QWidget的外边框以使其内部小部件不受影响?
我有一个很奇怪的问题。我有一个带有 QHBoxLayout
的 QWidget
。该布局包含两个QLabel
。 我想为整个小部件设置一个边框。我正在使用样式表:
"padding: 10px;"
"border-style: solid;"
"border-width: 3px;"
"border-radius: 7px;"
但问题是:此样式应用于两个 QLabel 并完全破坏了布局。我只需要外窗有边框,而不是标签。 有什么想法吗?
提前致谢!
I have quite a strange problem. I have a QWidget
with QHBoxLayout
on it. The layout contains two QLabels
.
I want to set a border for this whole widget. I'm using style sheet:
"padding: 10px;"
"border-style: solid;"
"border-width: 3px;"
"border-radius: 7px;"
But here's the problem: this style is applied to both QLabels and completely breaks the layout. I only need the outer window to have the border, not the labels.
Any ideas?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用
.QWidget 将仅将 CSS 应用于完全是 QWidget 并且不继承 QWidget 的类
您还可以使用对象名称选择器
这两种解决方案都不会将规则应用于其他小部件(即使是内部的小部件)
Use
.QWidget will apply CSS only to classes that are EXACTLY QWidget and not inheriting QWidget
You can also use object name selector
Both solutions wont apply rules to other widgets (even those inside)
样式表将递归地工作。如果您将样式表应用于应用程序,它将应用于其中的所有小部件。那么您可能必须指定要应用的样式表?
逻辑应该是这样的..
Style sheets will work recursively. If you apply style sheet to a Application it will be applied to all widgets within it. So you may have to specify to what you want to apply style sheet?
logic should be something like this..