Qt 4:如何设置QWidget的外边框以使其内部小部件不受影响?

发布于 2024-12-11 18:04:26 字数 317 浏览 0 评论 0原文

我有一个很奇怪的问题。我有一个带有 QHBoxLayoutQWidget 。该布局包含两个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

み青杉依旧 2024-12-18 18:04:26

使用

.QWidget
{
    // your css rules
}

.QWidget 将仅将 CSS 应用于完全是 QWidget 并且不继承 QWidget 的类

您还可以使用对象名称选择器

#YourWidgetObjectName
{
    // your css rules
}

这两种解决方案都不会将规则应用于其他小部件(即使是内部的小部件)

Use

.QWidget
{
    // your css rules
}

.QWidget will apply CSS only to classes that are EXACTLY QWidget and not inheriting QWidget

You can also use object name selector

#YourWidgetObjectName
{
    // your css rules
}

Both solutions wont apply rules to other widgets (even those inside)

豆芽 2024-12-18 18:04:26

样式表将递归地工作。如果您将样式表应用于应用程序,它将应用于其中的所有小部件。那么您可能必须指定要应用的样式表?

逻辑应该是这样的..

QHBoxLayout#layoutbox {
     background-color: red;
     border-style: outset;
     border-width: 2px;
     border-radius: 10px;
     border-color: beige;
     font: bold 14px;
     min-width: 10em;
     padding: 6px;
 }

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..

QHBoxLayout#layoutbox {
     background-color: red;
     border-style: outset;
     border-width: 2px;
     border-radius: 10px;
     border-color: beige;
     font: bold 14px;
     min-width: 10em;
     padding: 6px;
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文