使用pyqt6,创建一个窗口,上边有一个按钮,点击按钮后,跳出对话框,对话框中让输入年龄和性别两个数据,点击ok按钮,则打印这两个数据
时间: 2024-03-25 10:37:42 浏览: 21
以下是使用 PyQt6 创建一个窗口,上边有一个按钮,点击按钮后,跳出对话框,对话框中让输入年龄和性别两个数据,点击 ok 按钮,则打印这两个数据的示例代码:
``` python
import sys
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton, QInputDialog
class MyMainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("对话框示例")
self.setGeometry(100, 100, 300, 200)
# 创建一个按钮
self.button = QPushButton("打开对话框", self)
self.button.setGeometry(50, 50, 200, 50)
self.button.clicked.connect(self.open_dialog)
def open_dialog(self):
# 打开对话框获取用户输入
age, ok1 = QInputDialog.getInt(self, "输入对话框", "请输入年龄:")
sex, ok2 = QInputDialog.getItem(self, "输入对话框", "请选择性别:", ["男", "女"])
# 判断用户是否点击了 OK 按钮
if ok1 and ok2:
print(f"年龄为:{age}")
print(f"性别为:{sex}")
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyMainWindow()
window.show()
sys.exit(app.exec())
```
在上述代码中,我们首先创建了一个继承自 QMainWindow 的 MyMainWindow 类。在该类的构造函数中,我们创建了一个按钮,并将其连接到 open_dialog() 方法。当用户点击按钮时,open_dialog() 方法会打开一个对话框来获取用户输入的年龄和性别。对话框中分别使用 QInputDialog.getInt() 和 QInputDialog.getItem() 方法来获取用户输入。最后,我们判断用户是否点击了 OK 按钮,如果是,则输出用户输入的年龄和性别。
注意,上述代码中使用的 QInputDialog 类是 PyQt6 中的。另外,对话框的父窗口参数是 self,表示对话框是以当前窗口为父窗口打开的。