2015-02-17 64 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