pyqt5如何点击一个窗口的按钮来打开另一个窗口
时间: 2023-12-02 22:03:58 浏览: 95
在PyQt5中,你可以使用`QPushButton`来创建一个按钮,然后为其添加单击事件的处理函数。在处理函数中,你可以使用`QDialog`来创建一个新的窗口,并将其显示出来。
以下是一个示例代码,其中有两个窗口,第一个窗口中有一个按钮,点击该按钮可以打开第二个窗口:
```python
from PyQt5.QtWidgets import QApplication, QDialog, QPushButton, QVBoxLayout
class Window1(QDialog):
def __init__(self):
super().__init__()
self.button = QPushButton('打开窗口2')
self.button.clicked.connect(self.open_window2)
layout = QVBoxLayout()
layout.addWidget(self.button)
self.setLayout(layout)
def open_window2(self):
window2 = Window2()
window2.exec_()
class Window2(QDialog):
def __init__(self):
super().__init__()
layout = QVBoxLayout()
layout.addWidget(QPushButton('这是窗口2'))
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication([])
window1 = Window1()
window1.show()
app.exec_()
```
在这个示例代码中,`Window1`继承自`QDialog`,其中包含一个`QPushButton`,点击该按钮会调用`open_window2`方法,该方法中创建了一个新的`Window2`窗口,并将其显示出来。`Window2`同样继承自`QDialog`,其中包含一个`QPushButton`。
你可以将上述代码保存为一个`.py`文件,并运行该文件来查看效果。
阅读全文