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

时间:2015-02-17 20:19:58

标签: c++ qt qt-creator stylesheet

这是我的代码:

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的特异性添加到以下内容中来加入STYLE_SHEET:

const QString QWidget#myWidgetName { }

STYLE_SHEET停止申请。它解决了孩子QFrame的流血,但我的QWidget失去了它的风格。没有风格的QWidget有什么用?

1 个答案:

答案 0 :(得分:0)

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";