在Qt中,可以使用QTabWidget控件来实现生成多个窗口切换的效果。
以下是一个示例代码:
from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget, QWidget, QVBoxLayout
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个tab widget控件并添加到主窗口中
self.tab_widget = QTabWidget()
self.setCentralWidget(self.tab_widget)
# 创建三个子窗口,并将它们添加到tab widget控件中
for i in range(3):
widget = QWidget()
layout = QVBoxLayout(widget)
layout.addWidget(QLabel(f"This is tab {i+1}"))
self.tab_widget.addTab(widget, f"Tab {i+1}")
if __name__ == "__main__":
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
这段代码会创建一个主窗口,并在其中创建一个tab widget控件。然后,在tab widget控件中添加了三个子窗口,每个子窗口包含一个标签,用于显示当前所在的选项卡。
您可以通过单击不同的选项卡来切换到相应的子窗口。