pyqt5如何在按下按钮后弹出窗口 连接失败
时间: 2023-07-16 13:14:26 浏览: 89
pyqt通过继承的方式点击主窗口按钮弹出子窗口.zip
你可以使用 PyQt5 中的 QDialog 类创建一个新的窗口,然后在按下按钮时弹出它。以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QDialog
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 300, 200)
self.setWindowTitle('Main Window')
btn = QPushButton('Open Dialog', self)
btn.move(100, 100)
btn.clicked.connect(self.showDialog)
self.show()
def showDialog(self):
dialog = QDialog(self)
dialog.setWindowTitle('Dialog')
dialog.setGeometry(200, 200, 200, 100)
dialog.exec_()
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
app.exec_()
```
在这个示例中,我们创建了一个名为 `MyWindow` 的主窗口,并在上面放置了一个按钮。当用户按下按钮时,会调用 `showDialog` 方法来创建并显示一个新的 `QDialog` 对象。该对话框的标题和大小在 `showDialog` 方法中设置。
你可以根据需要自定义对话框的布局和内容。当你想关闭对话框时,可以使用 `accept` 或 `reject` 方法,这取决于你是否需要对用户输入进行验证。在示例中,我们使用了 `exec_` 方法来显示对话框,这将阻塞主窗口,直到用户关闭对话框。
阅读全文