2014-09-25 134 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