我读到,可以将简单的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())