PyQt5.QtWidgets实现多窗口应用:窗口的创建和切换
发布时间:2023-12-28 02:52:13
PyQt5.QtWidgets是一个用于创建窗口应用程序的模块。它提供了许多类来创建和管理窗口,包括QWidget、QMainWindow、QDialog等。下面是一个使用PyQt5.QtWidgets实现多窗口应用的例子,包括窗口的创建和切换。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLabel
class Window1(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Window 1")
self.setGeometry(100, 100, 300, 200)
layout = QVBoxLayout()
self.setLayout(layout)
self.label = QLabel("Window 1")
layout.addWidget(self.label)
button = QPushButton("Switch to Window 2")
button.clicked.connect(self.switch_window)
layout.addWidget(button)
def switch_window(self):
window2.show()
self.hide()
class Window2(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("Window 2")
self.setGeometry(100, 100, 300, 200)
layout = QVBoxLayout()
self.setLayout(layout)
self.label = QLabel("Window 2")
layout.addWidget(self.label)
button = QPushButton("Switch to Window 1")
button.clicked.connect(self.switch_window)
layout.addWidget(button)
def switch_window(self):
window1.show()
self.hide()
app = QApplication(sys.argv)
window1 = Window1()
window2 = Window2()
window1.show()
sys.exit(app.exec_())
上述代码创建了两个窗口,Window1和Window2。Window1的布局中包含一个标签和一个按钮,当按钮被点击时,显示Window2并隐藏自己。Window2的布局也类似,当按钮被点击时,显示Window1并隐藏自己。
在主函数中,首先创建了一个QApplication实例,然后创建了两个窗口实例window1和window2。最后,显示window1并执行应用程序的主循环。
这是一个简单的多窗口应用程序的例子,展示了如何使用PyQt5.QtWidgets来创建和管理窗口。通过切换窗口的显示和隐藏,可以实现多个窗口之间的切换操作。
