【9】PyQt对话框

目录

[1. QMessageBox](#1. QMessageBox)

[2. QIputDialog](#2. QIputDialog)


对话框是为了更好地实现人与程序的交互

对话框主要是完成特定场景下的功能,比如删除确认等

QDialog的子类有QMessageBoxQFileDialogQFontDialogQInputDialog

1. QMessageBox

QMessageBox是普通的对话框

代码示例:

python 复制代码
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)
    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按钮)组成

代码示例:

python 复制代码
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())
相关推荐
青 春 记 忆2 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
Python私教3 小时前
多个项目怎么安全合并?先适配,再切换
后端·python·架构
小灰灰搞电子4 小时前
PyQt QTextBoundaryFinder类详解:精准定位文本边界
pyqt
北斗落凡尘5 小时前
LangGraph 入门实战(12)--使用MCP
后端·python·langchain
jdksjw5 小时前
同步与异步、阻塞与非阻塞、多线程、协程超详细讲解(Python并发编程从入门到精通)
开发语言·python
Mike_Zhang5 小时前
使用python统计FreeSWITCH呼叫并发
python·freeswitch
SL-staff6 小时前
技术实践:HR如何用JVS-Logic可视化编排实现考勤数据同步(含节点配置与异常处理)
开发语言·python·低代码·钉钉·可视化编排·jvs-logic·hr技术
zzzzzz3107 小时前
AI 助手最危险的不是报错,而是“看起来成功”:我给工作流加了四道保险
人工智能·python
用户8356290780518 小时前
如何使用 Python 将 PowerPoint 转换为 PDF 文档
后端·python
菜冻鱼8 小时前
Python-pytorch-高级技巧
开发语言·人工智能·pytorch·python·深度学习·神经网络·聚类