【问题标题】:QStylesheet not working after adding widget to layout将小部件添加到布局后 QStylesheet 不起作用
【发布时间】:2018-02-04 00:28:37
【问题描述】:

我创建了一个自定义小部件并对其应用了以下样式表(通过 QtDesigner):

QWidget#MyWidget{
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 
rgb(200, 200, 200), stop:1 rgb(230, 230, 230))
}

QWidget#MyWidget:hover{
background: 
qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #90B750, 
stop:1#CAFF70 )
}

它在设计器中完美运行。

在另一个自定义小部件中,我将许多 MyWidget 实例添加到垂直布局中。但是既不是根据样式表设置背景颜色,也不是悬停工作。出于测试目的,我在 MyWidget 中添加了一个按钮。悬停和单击工作。我错过了什么?

基本上,MyWidget 只是一个带有几个标签的小部件,“容器”只是一个具有垂直布局和几个标签的 ScrollArea。

有什么想法吗?

【问题讨论】:

  • 请出示您的代码

标签: c++ qt qt5


【解决方案1】:

事实证明,解决方案相当简单。

问题是,显然,如果您将一个小部件作为另一个小部件的父级,则最顶部小部件的背景设置为“透明”。添加以主小部件为父小部件的第二个小部件并将 QStylesheet 应用于此小部件可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-23
    • 2013-05-01
    • 2011-07-07
    • 2012-06-03
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多