PyQt5各种常用对话框总结
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,QDialog基本对话框子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等显示基本窗体测试代码# -*- coding:utf8 -*-imp
千家信息网最后更新 2026年11月01日PyQt5各种常用对话框总结
QDialog基本对话框
子类主要有QMessageBox、QFileDialog、QFontDialog、QInputDialog等
显示基本窗体
测试代码
# -*- coding:utf8 -*-import sysfrom PyQt5.QtCore import Qtfrom PyQt5.QtWidgets import QMainWindow, QApplicationclass MyDialog(QMainWindow): def __init__(self, parent=None): super(MyDialog, self).__init__(parent) # 设置窗口标题 self.setWindowTitle("测试窗口") # 设置窗口大小 self.resize(350, 300) # 设置窗口为非模态 self.setWindowModality(Qt.NonModal) # 设置窗口为窗口模态,程序在未处理完当前对话框时将阻止和对话框的父窗口进行交互 self.setWindowModality(Qt.WindowModal) # 设置窗口为应用程序模态,阻止和人任何其他窗口进行交互 self.setWindowModality(Qt.ApplicationModal)if __name__ == '__main__': app = QApplication(sys.argv) ui_demo = MyDialog() ui_demo.show() sys.exit(app.exec_())QMessageBox通用式弹出对话框
对话框函数
# 信息提示对话框QMessageBox.information(ParentQWidght, Title, Text, Buttons, DefaultButton)# 问题响应对话框QMessageBox.question(ParentQWidght, Title, Text, Buttons, DefaultButton)# 警告对话框QMessageBox.warning(ParentQWidght, Title, Text, Buttons, DefaultButton)# 关于对话框QMessageBox.about(ParentQWidght, Title, Text, Buttons, DefaultButton)# 严重警告对话框QMessageBox.critical(ParentQWidght, Title, Text, Buttons, DefaultButton)PyQt5源码中定义的按钮
# 调用方法:QMessage.xxxAbort = 262144AcceptRole = 0ActionRole = 3Apply = 33554432ApplyRole = 8ButtonMask = -769Cancel = 4194304Close = 2097152Critical = 3Default = 256DestructiveRole = 2Discard = 8388608Escape = 512FirstButton = 1024FlagMask = 768Help = 16777216HelpRole = 4Ignore = 1048576Information = 1InvalidRole = -1LastButton = 134217728No = 65536NoAll = 131072NoButton = 0NoIcon = 0NoRole = 6NoToAll = 131072Ok = 1024Open = 8192Question = 4RejectRole = 1Reset = 67108864ResetRole = 7RestoreDefaults = 134217728Retry = 524288Save = 2048SaveAll = 4096Warning = 2Yes = 16384YesAll = 32768YesRole = 5YesToAll = 32768测试代码
from PyQt5.QtWidgets import QMessageBox # 仅仅显示if(msg=='connect success'): conn.close() QMessageBox.information(self, "温馨提示", "数据库连接成功!", QMessageBox.Yes, QMessageBox.Yes)else: QMessageBox.warning(self, "警告信息", "由于目标计算机积极拒绝, 无法连接, 来自数据库的消息:{0}".format(msg), QMessageBox.Yes, QMessageBox.Yes)# 处理用户应答后的动作reply = QMessageBox.warning(self, "温馨提示", "即将退出, 确定?", QMessageBox.Yes|QMessageBox.No, QMessageBox.No)if(reply == QMessageBox.Yes): QCloseEvent.accept()if(reply==QMessageBox.No): QCloseEvent.ignore()QInputDialog标准输入对话框
常用取值函数
# 获取实数QInputDialog.getDouble(ParentQWidght,Title,Text)# 获取整数QInputDialog.getInt(ParentQWidght,Title,Text)# 在控件中的获得列表中获取输入QInputDialog.getItem(ParentQWidght,Title,Text,DefaultItem, isOperation)# 获取文本QInputDialog.getText(ParentQWidght,Title,Text)# 获取多行文本QInputDialog.getMultiLineText(ParentQWidght,Title,Text,DefaultText)测试代码
from PyQt5.QtWidgets import QInputDialognumber, ok = QInputDialog.getInt(self, "输入数字对话框", "请输入数字")if(ok): print(number)number, ok = QInputDialog.getDouble(self, "输入数字对话框", "请输入数字")if(ok): print(number)text, ok = QInputDialog.getText(self, "输入数字对话框", "请输入数字")if(ok): print(text)mul_text, ok = QInputDialog.getMultiLineText(self, "xixi", "haha", "hehe")if(ok): print(mul_text)item, ok = QInputDialog.getItem(self, "", "", ['One', 'Two', 'Three'], 0, False)if(ok): print(item)QFontDialog字体选择对话框
测试代码
from PyQt5.QtWidgets import QFontDialogfont, ok = QFontDialog.getFont()if(ok): # 设置字体样式函数 self.lintEdit.setFont(font)QColorDialog颜色选取对话框
测试代码
from PyQt5.QtGui import QPalettefrom PyQt5.QtWidgets import QColorDialogcolor = QColorDialog.getColor()if(color.isValid()): # 设置颜色名称 self.label.setText(color.name()) # 设置颜色 self.label.setPalette(QPalette(color)) # 设置自动填充背景颜色 self.label.setAutoFillBackground(True)QFileDialog文件选择对话框
常用函数
# 获取文件的打开路径QFileDialog.getOpenFileName()# 获取一组文件的打开路径QFileDialog.getOpenFileNames()# 获取文件的保存路径QFileDialog.getSaveFileName()# 设置可以选择的文件类型QFileDialog.setFileMode()"""枚举常量包括: QFileDialog.AnyFile QFileDialog.ExistingFile QFileDialog.Directory QFileDialog.ExistingFiles"""# 设置文件过滤器,显示的文件类型QFileDialog.setFilter()# 获取已经存在的目录QFileDialog.getExistingDirectory()测试代码
file_name, ok = QFileDialog.getOpenFileName(self, "打开文件", '/', "Images files (*.jpg *.gif)")if(ok): print(file_name)files_name, ok = QFileDialog.getOpenFileNames(self, "打开一组文件", '/', "All Files (*);;Text Files (*.txt)")if(ok): for i in files_name: print(i)file_name, ok = QFileDialog.getSaveFileName(self, "保存文件", '/', "Images files (*.jpg *.gif)")if(ok): print(files_name)QFileDialog.setFileMode(QFileDialog.AnyFile)QFileDialog.setFilter("Images files (*.jpg *.gif)")path = QFileDialog.getExistingDirectory(self, "选择目录", '/')print(path)
对话框
对话
文件
输入
测试
代码
数字
函数
颜色
选择
模态
路径
提示
常用
温馨
信息
字体
数据
数据库
文本
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
博彦科技互联网金融
科技平台互联网
互联网和科技创新
金融科技 互联网金融
有马互联网科技
远信互联网科技
电子科技大学互联网
米客互联网科技
以后互联网后是啥科技
智腾互联网科技有限公司
千方科技属于互联网企业吗
互联网科技大赛获奖感言
南通创西澳互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
全球科技与互联网公司市值变化
互联网界的黑科技
互联网科技创新创业项目
安徽九吞吴互联网科技有限公司
银川新华互联网科技学校招聘
互联网核心科技是什么
工业互联网科技新基建
深圳科技互联网
互联网络科技有限公司
科技互联网创业计划书
互联网公司会议桌创意科技软装饰
华中科技有哪些互联网大佬
湖南洣水互联网科技有限公司扣款
搜狐科技互联网
玉溪新华互联网科技怎么选