2011-09-24 13 views
0

我有一個很好的QComboBox樣式表,但我找不到如何設計刻度。用於QComboBox刻度的樣式表控件?

刻度線是顯示在當前選定項目旁邊的圖形。有兩個問題:1.當鼠標位於當前選定的項目上時,selection-background-color應用於該項目,但不包括勾號。 2.當突出顯示另一個項目時,繪製的勾號會被禁用,併產生醜陋的點畫效果。

我想這是在QComboBox::on之下的某個地方,但我不知道它是什麼。

+0

你在哪個平臺遇到問題?你如何指定QComboBox的樣式表,例如QML,Designer,in-code? –

+0

代碼樣式表中的C++,Mac:'qApp-> setStyleSheet(my_styles_string)'。 – koan

+0

我無法訪問Mac來提供幫助。你有沒有試過看Qt源代碼?在過去,當我遇到一些Qt行爲時,我經常查看相關平臺的Qt源代碼,發現閱讀它可以幫助我理解。例如,您可以嘗試確定在繪製QComboBox上的刻度時Qt實際上是否使用樣式表信息 - 如果是,請輸入您需要的名稱。 –

回答

0

重要的控件似乎是QComboBox::checked。請務必設置colorbackground-color。背景顏色不能是漸變。如果背景顏色設置爲與QComboBox QAbstractItemView的規則相同,則可以避免棋盤效果(點畫)。

0

如果設置使用通用的風格:

#include <QCleanlooksStyle> 

QCleanlooksStyle cleanLook; 
QComboBox * combo = new QComboBox; 
combo->setStyle(&cleanLook); 

,則複選標記不會顯示在所有。