PyQt4中的调整小部件大小

5
我使用Qt Designer创建了一个带有选项卡窗口的主窗口。我的问题是,当窗口最大化时,选项卡窗口保持原来的大小,因此在其右侧留下了很多灰色空间。
我希望主窗口始终最大化,所以如何调整选项卡窗口的大小以占用更多的空间?我需要添加什么代码才能实现这一点?
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
self.tabWidget.setEnabled(True)
self.tabWidget.setGeometry(QtCore.QRect(20, 40, 601, 501))
self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
1个回答

7
你需要使用某种类型的。
在Design模式下很容易实现。只需右键单击表单,选择,然后选择<水平布局>或<垂直布局> - 你需要在表单上放置其他部件才能看到两者之间的区别。你将在Object Inspector中看到添加的,并且可以像处理部件一样调整其属性。
你也可以通过代码创建布局。下面是一个可行的示例:
import sys
from PyQt4.QtCore import QRect
from PyQt4.QtGui import QApplication, QWidget, QTabWidget, QHBoxLayout

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

        # Create the layout.
        self.h_layout = QHBoxLayout()

        # Create the QTabWidget.
        self.tabWidget = QTabWidget()
        self.tabWidget.setEnabled(True)
        self.tabWidget.setGeometry(QRect(20, 40, 601, 501))
        self.tabWidget.setTabPosition(QTabWidget.North)
        self.tabWidget.setObjectName('tabWidget')

        # Add the QTabWidget to the created layout and set the 
        # layout on the QWidget.
        self.h_layout.addWidget(self.tabWidget)
        self.setLayout(self.h_layout)


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

  widget = Widget()
  widget.show()

  sys.exit(app.exec_())

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接