当前位置: 首页 > article >正文

【9】PyQt对话框

目录

1. QMessageBox

2. QIputDialog


对话框是为了更好地实现人与程序的交互
对话框主要是完成特定场景下的功能,比如删除确认等

QDialog的子类有QMessageBoxQFileDialogQFontDialogQInputDialog

1. QMessageBox

QMessageBox是普通的对话框

代码示例:

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按钮)组成

代码示例:

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())

 

 

 


http://www.kler.cn/news/160362.html

相关文章:

  • Ubuntu 20.04 安装 mysql8 LTS
  • 【AI-ChatGPT-Prompt】什么是Prompt
  • Redis生产实战-热key、大key解决方案、数据库与缓存最终一致性解决方案
  • Centos7如何安装MySQL
  • HBase-架构与设计
  • 面试冲刺 - 算法题 1
  • 大数据生态架构:探索未来科技的无限可能。
  • Word文件设置了只读模式,为什么还能编辑?
  • 开发重要网站
  • 同旺科技 USB TO RS-485 定制款适配器--- 拆解(四)
  • 要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 4 章:控制温度和 Top-p 采样
  • k8s 安装 Longhorn
  • 【数据结构】动态规划(Dynamic Programming)
  • qt 5.15.2 网络文件下载功能
  • Pair<T, U>
  • Ubuntu22.04 安装nvida-docker2和改路径
  • 分布式数据库HBase
  • 使用Go快速开发TCP公共服务
  • 深信服技术认证“SCSA-S”划重点:XSS漏洞
  • APP测试的测试内容有哪些,常见的Bug分类介绍!
  • 网络和Linux网络_11(数据链路层)以太网(MAC帧)协议+局域网转发+ARP协议
  • jvs智能bi新增:数据集添加sql自定义节点、添加websocket任务进度动态展示等等
  • springboot引入swagger2
  • 10-tornado项目部署
  • 18、XSS——cookie安全
  • RPG项目01_脚本代码
  • Apache Ofbiz XML-RPC RCE漏洞复现(CVE-2023-49070)
  • 识别低效io引起的free buffer waits
  • 日志框架梳理(Log4j,Reload4j,JUL,JCL,SLF4J,Logback,Log4j2)
  • wsl2 ubuntu下配置go执行make init 错误 /bin/bash line 1 go command not found