向 Qt 样式表添加特异性时丢失样式

2024-05-14

这是我的代码:

const QString STYLE_SHEET = "background-color: rgba(x,x,x,y);"
                            "border: 1px solid gray;"
                            "border-radius: 0px;"
                            "border-top: 1px solid red;"
                            "border-bottom: 1px solid blue;"
                            "border-radius: 0px;";

SS 稍后在代码中应用,如下所示:

QWidget * myWidget;
myWidget = new QWidget(parent);
myWidget.setObjectName("myWidgetName");
myWidget.setStyleSheet(STYLE_SHEET);

除了边框渗入子 QFrame 之外,它的工作方式就像冠军一样。如果我通过将 STYLE_SHEET 与以下内容括起来来添加特异性:

const QString QWidget#myWidgetName { }

STYLE_SHEET 不再适用。它解决了子 QFrame 的出血问题,但我的 QWidget 失去了其风格。没有样式的 QWidget 有什么用呢?


const QString STYLE_SHEET = "QWidget#myWidgetName {\n"
                            "    background-color: rgba(x,x,x,y);\n"
                            "    border: 1px solid gray;\n"
                            "    border-radius: 0px;\n"
                            "    border-top: 1px solid red;\n"
                            "    border-bottom: 1px solid blue;\n"
                            "    border-radius: 0px;\n"
                            "}\n";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 Qt 样式表添加特异性时丢失样式 的相关文章

随机推荐