2014-09-25 76 views
3

規模,我有以下樣式:QTabBar標籤大小不與樣式表字體

QTabBar::tab { 

background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, 
         stop: 0 #2A2A2A, stop: 0.4 #E1E1E1, 
         stop: 0.5 #E1E1E1, stop: 1.0 #2A2A2A); 
background-image: url(:/metal_toolbar); 
border-left: 1px solid #9B9B9B; 
border-right: 1px solid #9B9B9B; 
border-bottom: 1px solid #9B9B9B; 
border-top-color: #5A5A5A; 
font: bold 12pt; 
/*min-width: 20ex; 
max-width: 1000ex;*/ 
padding: 2px; 
} 

如果我不聲明在樣式表的字體,我的標籤是尺寸與其包含的文本,但是,當我增加字體大小時,製表符大小保持不變,文本被截斷。我試過所有的寬度設置,但我希望標籤寬度可以根據其中包含的內容進行縮放。

任何人都知道解決方法或解決這個問題?

我加載樣式表文件到我的皮膚程序,所以我會在程序化解決方案喜歡的樣式表的解決方案,如果他們存在

編輯:

這裏的工作版本適當標籤大小

QTabBar 
{ 
    font: bold 9pt; 
} 

QTabBar::tab 
{ 

    background: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, 
          stop: 0 #2A2A2A, stop: 0.4 #E1E1E1, 
          stop: 0.5 #E1E1E1, stop: 1.0 #2A2A2A); 
    background-image: url(:/metal_toolbar); 
    border-left: 1px solid #9B9B9B; 
    border-right: 1px solid #9B9B9B; 
    border-bottom: 1px solid #9B9B9B; 
    border-top-color: #5A5A5A; 
    min-width: 20ex; 
    padding: 2px; 
} 

回答

2

然後從QTabBar中設置字體。下面粗糙的僞代碼。

font = tabbar.font() 
font.setPointSize(12) 
font.setBold(true) 
tabbar.setFont(font) 

你應該能夠從QTabWidget訪問QTabBar,只需設置你的樣式表沒有字體。我希望這可以幫助。

+3

在QTabBar而不是QTabBar :: tab中設置字體是缺少的鏈接。它確實在樣式表中工作。 – 2014-09-25 19:31:55

+1

謝謝,它更糟,因爲:: tab會按照預期的字體。 – braggPeaks 2015-03-05 14:42:41