九、对话框控件
对话框是为了更好地实现人与程序的交互
对话框主要是完成特定场景下的功能,比如删除确认等
- QDialog的子类有:QMessageBox、QFileDialog、QFontDialog.QInputDialog等
1. QMessageBox
QMessageBox是普通的对话框
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 | from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import QIcon
import sys
def deleteUser():
# 弹出对话框,让用户确认
result = QMessageBox.question(w, '提示', '确认要删除好基友吗?', QMessageBox.Ok | QMessageBox.Cancel, QMessageBox.Cancel)
# result = QMessageBox.information(w, '提示', '确认要删除好基友吗?', QMessageBox.Ok | QMessageBox.Cancel, QMessageBox.Cancel)
if result == QMessageBox.Ok:
print('确认删除')
elif result == QMessageBox.Cancel:
print('取消删除')
# 1.创建应用程序
app = QApplication(sys.argv)
# 2.创建窗口
w = QWidget()
# 修改窗口标题
w.setWindowTitle('对话框')
"""------------------ 创建按钮 ------------------"""
btn = QPushButton('删除用户')
# 显示控件
btn.setParent(w)
# 信号和槽绑定
btn.clicked.connect(deleteUser)
# 3.显示窗口
w.show()
# 4.等待窗口停止
sys.exit(app.exec())
|
运行程序:
2. QIputDialog
QIputDialog是输入对话框,由一个文本框和两个按钮(OK按钮和Cancel按钮)组成
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 | 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())
|
运行程序,点击创建角色: