【问题标题】:QWidget background color does not fully cover the QWidgetQWidget 背景颜色没有完全覆盖 QWidget
【发布时间】:2011-05-06 06:28:16
【问题描述】:

使用 Qt Creator,我将 QWidget 的背景属性设置为黑色。但是,QWidget 的某些部分,更具体地说,QFrames/QGroupBoxes 之间的部分仍然是其系统的默认颜色。

现在,我认为 QFrames 和 QGroupBoxes 也需要将其背景属性设置为黑色,但它不起作用。我也尝试将边框颜色设置为黑色,但它不起作用,因为默认情况下边框,边距设置为 0。

QWidget { background: black; }

对这个问题有什么建议吗?

编辑

QWidgets 被放置在 QMdiArea 中。但是,如果我将其设为 QWindow,它就可以工作。但是,我希望 QWidgets 在 QMdiArea 中。另外,如果我只是按原样显示 QWidgets,我上面提到的空间是透明的。

【问题讨论】:

  • 您能说明一下您是如何将背景设置为黑色的吗?
  • 正如我所说,我通过将背景属性设置为黑色来使用样式表。我已经添加了上面的代码。

标签: c++ qt4 qwidget qtstylesheets


【解决方案1】:

找到解决方案。看来您需要在 QMdiSubWindow 处设置背景颜色,而不是在 QWidget 处。不知道为什么,但似乎合乎逻辑。

【讨论】:

    【解决方案2】:

    听起来您在另一个小部件中有一些小部件,并且正在将包含的小部件设置为黑色,但它们之间的空间不是黑色的。如果是这种情况,很可能是因为您在包含的小部件中有一个布局,该布局在每个包含的小部件之间分配了空间。小部件之间的空白区域将使用包含小部件的背景颜色绘制。

    【讨论】:

    • 我已将每个容器的背景属性设置为黑色。容器之间的空间仍然保持系统颜色。
    • @Skaty:编辑问题后,我超出了我的经验范围。我从未使用过 mdi 区域。
    猜你喜欢
    • 2020-04-21
    • 2012-09-21
    • 2020-01-06
    • 2018-01-16
    • 2011-02-13
    • 2014-09-03
    • 1970-01-01
    相关资源
    最近更新 更多