2011-09-11 31 views
0

在我的應用程序,我有一個部分是頂部部件,頂部部件的顏色是灰色的,我已經把頂部部件上的severl部件,如QComboBox,QLineEdit和2 QButton ,但我有一個問題,當我右鍵點擊QLineEdit,如下圖所示,窗口的默認上下文的顏色是灰色的,或者當我打開QComboBox背景的顏色是灰色的。我將這兩個小部件的背景顏色設置爲白色,但不起作用。那麼,我該如何解決這個問題?問題在Qt的樣式表APP

樣品爲更好地理解:

http://0000.4.img98.net/out.php/i52512_problem.png

請幫我

+0

你可以發佈你的樣式表嗎?我假設你在樣式表中設置灰色背景的方式是將自己應用於組合框的下拉菜單。但是如果我們看到了你的樣式表,我可以給你一個更好的答案。 – Liz

回答

1

樣式表傳播到所有的子控件,所以你必須使用正確的選擇,以限制其範圍。由於上下文菜單是QLineEdit的子項,因此它也受到影響。

// What you have probably done: 
myLineEdit->setStyleSheet("background-color: gray"); 

// What you should have done: 
myLineEdit->setStyleSheet("QLineEdit { background-color: gray }");  

// What you should do if there might be child widgets of the same type 
// but for which you don't want the style to apply: 
myLineEdit->setObjectName("myLineEdit"); 
myLineEdit->setStyleSheet("QLineEdit#myLineEdit { background-color: gray }"); 

查看"The Style Sheet Syntax - Selector Types"瞭解詳情。