PyQt - 将父窗口小部件调整为其子窗口

时间:2011-05-27 17:26:52

标签: python pyqt

只是一个主要的小部件,里面有一个标签小部件。

问题是 - 当我运行它时,只显示部分标签(如附图所示)。因此,您需要调整大小,或滚动标签以获取最后一个。

enter image description here

如何设置它以便窗口从一开始就显示所有标签?

import sys
from PyQt4.QtGui import *

class MainWindow(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)

        # making tabs
        tabs = QTabWidget()
        tabs.addTab(QWidget(), '111111')
        tabs.addTab(QWidget(), '222222')
        tabs.addTab(QWidget(), '333333')
        tabs.addTab(QWidget(), '444444')

        # inserting in vbox
        vbox = QVBoxLayout(self)
        vbox.addWidget(tabs)

app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())

如何为所有标签调整大小?
问题出在哪里 - 是父窗口小部件,标签还是vbox?

1 个答案:

答案 0 :(得分:3)

您可以使用QTabWidget.setUsesScrollButtons(bool)

import sys
from PyQt4.QtGui import *

class MainWindow(QWidget):
    def __init__(self, parent=None):
        QWidget.__init__(self, parent)

        # making tabs
        tabs = QTabWidget()
        tabs.setUsesScrollButtons(False) #here is

        tabs.addTab(QWidget(), '111111')
        tabs.addTab(QWidget(), '222222')
        tabs.addTab(QWidget(), '333333')
        tabs.addTab(QWidget(), '444444')
        # inserting in vbox
        vbox = QVBoxLayout(self)
        vbox.addWidget(tabs)

app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())

http://doc.qt.nokia.com/4.7/qtabwidget.html#usesScrollButtons-prop