2013-09-25 18 views
0

我想要tabbar展開空白空間直到右側。如果所有標籤都具有相同的寬度,那麼效果最好。我不知道該怎麼做,因爲我的樣式表不起作用,我在文檔中找不到選項。QTabBar既沒有完全展開也沒有空間標籤同樣

from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
from PyQt4 import QtGui,QtCore 
import sys 

class Main(QWidget): 
    def __init__(self,parent=None): 
     QWidget.__init__(self) 
     self.setFixedSize(600,500) 

     self.tabBar=QTabBar(self) 
     self.tabBar.setStyleSheet("QTabBar{width:400px;}") 
     self.tabBar.setExpanding(True) 

     self.layout=QVBoxLayout(self) 
     self.layout.addWidget(self.tabBar) 

     self.tabBar.addTab("Kontext Menu") 
     self.tabBar.addTab("Settings in detail") 
     self.tabBar.addTab("Help and tips") 
     self.tabBar.addTab("About") 
     self.tabBar.addTab("Credits") 

     self.show() 

if __name__ == '__main__': 
    app=QApplication(sys.argv) 
    sd=Main() 
    app.exec() 

enter image description here

我有這個想法,因爲對話應當有固定的大小,也可以計算eachs標籤寬度Totalwidth /(選項卡的金額),但我仍然不知道如何告訴每個標籤的寬度...

回答

1

您可以使用void setExpanding(bool enabled)來擴展標籤。查看文檔的細節:

http://qt-project.org/doc/qt-5.1/qtwidgets/qtabbar.html#expanding-prop

此外,您將需要使用適當的風格語法,因爲你似乎缺乏適當的範圍,即「::標籤」的一部分。

此外,您需要在QTabWidget本身上設置樣式表,而不是QTabBar。起初可能有點奇怪,但這是實現你想要的東西的正確方法。

在這裏你可以找到你應該寫代碼:

from PyQt4.QtGui import * 
from PyQt4.QtCore import * 
from PyQt4 import QtGui,QtCore 
import sys 

class Main(QWidget): 
    def __init__(self,parent=None): 
     QWidget.__init__(self) 
     self.setFixedSize(600,500) 

     self.tabBar=QTabBar(self) 
     self.tabBar.setStyleSheet("QTabBar::tab{width:400px;}") 
     self.tabBar.setExpanding(True) 

     self.layout=QVBoxLayout(self) 
     self.layout.addWidget(self.tabBar) 

     self.tabBar.addTab("Kontext Menu") 
     self.tabBar.addTab("Settings in detail") 
     self.tabBar.addTab("Help and tips") 
     self.tabBar.addTab("About") 
     self.tabBar.addTab("Credits") 

     self.show() 

if __name__ == '__main__': 
    app=QApplication(sys.argv) 
    sd=Main() 
    app.exec() 
+0

當我改變''self.myQTabWidget'to它self.tabBar'工作。我認爲'::'只在Qt-Syntax中,但不能用於Python ... – user2366975

+0

好的,太好了。不用謝。 :) – lpapp

相關問題