2015-02-17 62 views
1

这里是我的代码:失落风格加入特异性Qt的样式表时

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有什么好处?

回答

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

感谢您的回答,但您能否解释\ n如何解决问题?不要误解我的意思,我会尝试。只是我想知道我在做什么。 – Qman 2015-02-17 22:49:35

+0

我试过\ n没有成功。任何其他想法? – Qman 2015-02-17 23:25:44

+1

“\ n”只是装饰。 'QWidget#myWidgetName'是最重要的。我写过这个,因为你写了这样的'const QString QWidget#objectName'。我认为这正是你在样式表中所做的,这是错误的(样式表中的名称与对象名称表单代码不匹配)! – 2015-02-18 08:29:48