如何将Qwidget用作QTABWIDGET的布局



我读到,可以将简单的qwidget用作qtabwidget的页面的布局,这样我就可以按照自己的方式设计选项卡页面。我该如何实现?

qwidget的功能之一是一个容器,因此只需要在每个选项卡中添加它:

from PyQt5 import QtCore, QtGui, QtWidgets, QtPrintSupport

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.tab_widget = QtWidgets.QTabWidget()
        self.setCentralWidget(self.tab_widget)
        page1 = QtWidgets.QWidget()
        page2 = QtWidgets.QWidget()
        for page, title in ((page1, "Page1"), (page2, "Page2")):
            self.tab_widget.addTab(page, title)
        lay1 = QtWidgets.QVBoxLayout(page1)
        for i in range(3):
            lay1.addWidget(
                QtWidgets.QLabel(f"label{i}", alignment=QtCore.Qt.AlignCenter)
            )
        lay1.addStretch()
        lay2 = QtWidgets.QVBoxLayout(page2)
        for i in range(4):
            lay2.addWidget(QtWidgets.QPushButton(f"button {i}"))
        lay2.addStretch()
        self.resize(640, 480)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec())

相关内容

  • 没有找到相关文章

最新更新