对话框
对话框是为了更好地实现人与程序的交互 对话框主要是完成特定场景下的功能,比如删除确认等.
QMessageBox¶
QMessageBox是普通的对话框
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
def do_click():
# QMessageBox 对话框
# information: 信息对话框 parent, title, content 阻塞式
# QMessageBox.information(window, '我是对话框的title', '我是对话框的内容')
# question: 问答对话框
# result = QMessageBox.question(window, 'title', 'content')
# print(type(result))
# if result == QMessageBox.Yes:
# print('yes')
# else:
# print('no')
# warining
# QMessageBox.warning(window, 'title', 'content')
# critical
# QMessageBox.critical(window, 'title', 'content')
# about
QMessageBox.about(window, 'title', 'content')
print('对话框消失了')
if __name__ == '__main__':
# 创建app
app = QApplication(sys.argv)
# 窗体显示
window = QWidget()
# 按钮
btn = QPushButton('弹出对话框')
# 设置到界面
btn.setParent(window)
window.show()
# 事件绑定
btn.clicked.connect(do_click)
# 执行app
sys.exit(app.exec_())
对话框类型
对话框类型 | 描述 |
---|---|
QMessageBox.information(QWidget, title, text, buttons, defaultButton) | 弹出消息对话框 |
QMessageBox.question(QWidget, title, text, buttons, defaultButton) | 弹出问答对话框 |
QMessageBox.warning(QWidget, title, text, buttons, defaultButton) | 弹出警告对话框 |
QMessageBox.ctitical(QWidget, title, text, buttons, defaultButton) | 弹出严重错误对话框 |
about(QWidget, title, text) | 弹出关于对话框 |
按钮类型
类型 | 描述 |
---|---|
QMessageBox.Ok | 确定 |
QMessageBox.Cancel | 取消 |
QMessageBox.Yes | 同意 |
QMessageBox.No | 不同意 |
QMessageBox.Abort | 终止 |
QMessageBox.Retry | 重试 |
QMessageBox.Ignore | 忽略 |
QInputDialog¶
QIputDialog是输入对话框,由一个文本框和两个按钮(OK按钮和Cancel按钮)组成
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys
def func():
str,success = QInputDialog.getText(w,'提示','请输入角色名称')
if success:
edit.setText(str)
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('输入提示框')
"""------------------ 创建界面 ------------------"""
layout = QHBoxLayout()
# 添加布局
w.setLayout(layout)
# 控件
btn = QPushButton('创建角色')
edit = QLineEdit()
# 控件添加到布局中
layout.addWidget(btn)
layout.addWidget(edit)
# 信号和槽函数绑定
btn.clicked.connect(func)
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())