PyQt(PySide)之弹出框大全- QMessageBox, QInputDialog, QFileDialog

弹出框是一个常用类别,相对比较简单不复杂,但由于种类多,功能多,不易记忆。由于知识浩如烟海,其实做为全栈类程序开发,一个重要原则就是,能查到的东西就不要去记忆,只需掌握其核心逻辑与开发方法即可。本文收集整理了一些弹出框的编程方法,供使用时查阅。

一、QMessageBox的类型

QMessageBox有四种类型:information、question、warning和critical。下面我们将分别介绍这四种类型的使用。

1. information类型

information类型的QMessageBox显示一个信息框,它通常用来提醒用户一些详细但不关键的信息。我们可以在标题和内容之间添加一个图标或在右上角添加一个帮助按钮。代码如下:

2. question类型

question类型的QMessageBox通常用来显示一些需要用户回答“是”或“否”的问题。它可以有默认按钮和一些可选按钮,例如‘Yes’、‘No’、‘Cancel’和‘Help’等。如果你嵌入到应用程序的窗口中,它还可以显示一个缩小、关闭和拓展按钮,代码如下:

3. warning类型

warning类型的QMessageBox通常用来警告用户可能会影响程序使用的一些操作或过程。例如,它在一些需要警告的代码中经常被使用。代码如下:

4. critical类型

critical类型的QMessageBox在某些错误情况下被使用,例如程序崩溃、网络断开等。它是一种需要注意并进行处理的警告类型。代码如下:

二、QInputDialog – 弹出式输入对话框

1.输入文本

# 第三个参数表示显示类型,可选,有正常(QLineEdit.Normal)、密碼( QLineEdit. Password)、不显示( QLineEdit. NoEcho)三种情况
value, ok = QInputDialog.getText(self, "输入框标题", "这是提示信息\n\n请输入文本:", QLineEdit.Normal, "这是默认值")

2.输入多行文本

value, ok = QInputDialog.getMultiLineText(self, "输入框标题", "这是提示信息\n\n请输入地址:", "默认的\n地址是\n中国北京东城区")

3. 输入整数

# 后面四个数字的作用依次是 初始值 最小值 最大值 步幅
value, ok = QInputDialog.getInt(self, "输入框标题", "这是提示信息\n\n请输入整数:", 22, -10000, 10000, 2)

4. 输入小数

# 后面四个数字的作用依次是 初始值 最小值 最大值 小数点后位数
value, ok = QInputDialog.getDouble(self, "输入框标题", "这是提示信息\n\n请输入整数:", 37.56, -10000, 10000, 2)

5.输入选项

# 1为默认选中选项目,True/False 列表框是否可编辑。
items = ["Spring", "Summer", "Fall", "Winter"]
value, ok = QInputDialog.getItem(self, "输入框标题", "这是提示信息\n\n请选择季节:", items, 1, True)

注意
输入后有两个选项,点击OK则代码中value为输入内容,ok为True;点击Cancel则value为空,ok为False。

三、QFileDialog–弹出文件对话框

1. 文件夹

dir_ = QFileDialog.getExistingDirectory(self, "选取文件夹", "C:/")  # 起始路径

2. 单文件

# 设置文件扩展名过滤,注意用双分号间隔
file_, filetype = QFileDialog.getOpenFileName(self, "选取文件", "C:/", "All Files (*);;Text Files (*.txt)")       

3. 多文件

files, ok = QFileDialog.getOpenFileNames(self, "多文件选择", "C:/", "All Files (*);;Text Files (*.txt)")

4.保存

file_, ok = QFileDialog.getSaveFileName(self, "文件保存", "C:/", "All Files (*);;Text Files (*.txt)")

5. 另存为

file_, ok = QFileDialog.getSaveFileName(self, "文件另存为", "C:/", "All Files (*);;Text Files (*.txt)")

保存为txt类型,file_ 返回文件保存路径。
这个和 保存 没有实质区别,只是提示您可以再存一个备份,点击完另存为后,再编辑相关文档,就是另存为后的文件了,这个和其他的一致,注意区分编辑文件的不同。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吃饭的家伙事儿

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值