2013-09-25 55 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

相关问题