PyQt5之QDialog

1.描述

QDialog是对话窗口的基类,对话窗口是顶级窗口,主要用于短期任务和与用户的简短通信。

可分为模态对话框和非模态对话框。

模态对话框又可以分为应用程序级别和窗口级别。

​ 应用程序级别:当该种模态的对话框出现时,用户必须首先对对话框进行交互,直到关闭对话框,然后才能访问程序中其他的窗口

​ 窗口级别:该模态仅仅阻塞与对话框关联的窗口,但是依然允许用户与程序中其它窗口交互

非模态对话框不会阻塞与对话框关联的窗口以及与其他窗口进行交互

继承自QWidget

2.功能作用

(1) 控件的创建

QDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())

(2) 模态设置

setModal(bool)
modal() -> bool

(3) 弹出

open()
exec()

(4) 是否显示尺寸调整控件

setSizeGripEnabled(bool)
isSizeGripEnabled() -> bool

(5) 常用操作槽

accept()
reject()
done(int r)

(6) 设置和获取数值

setResult(int)
result() -> int

3.信号

accepted() # 接受
finished(int result) # 接受和拒绝都会发出该信号
rejected() # 拒绝

4.相关子类

(1) QFontDialog

(1)描述

​ 提供了一种选择字体的对话框控件,继承自QDialog

(2)功能作用
# 构造函数
QFontDialog(parent: QWidget = None)
QFontDialog(QFont, parent: QWidget = None)# 打开对话框
open(self)
open(PYQT_SLOT) # 打开后, 会自动连接fontSelected信号与此处指定的槽函数
exec() -> int# 当前字体
setCurrentFont(QFont)
currentFont() -> QFont# 最终选中字体
selectedFont() -> QFont# 选项控制
setOption(QFontDialog.FontDialogOption, on=True)
"""on = True设置该选项on = False取消该选项
"""
setOptions(QFontDialog.FontDialogOption) # 设置多个选项
testOption(QFontDialog.FontDialogOption) # 测试某个选项是否生效
options() -> QFontDialog.FontDialogOption # 获取当前的选项
"""
补充QFontDialog.FontDialogOptionQFontDialog.NoButtons不显示“ 确定”和“ 取消”按钮。(对“实时对话框”有用。)QFontDialog.DontUseNativeDialog在Mac上使用Qt的标准字体对话框而不是Apple的原生字体面板。QFontDialog.ScalableFonts显示可缩放字体QFontDialog.NonScalableFonts显示不可缩放的字体QFontDialog.MonospacedFonts显示等宽字体QFontDialog.ProportionalFonts显示比例字体
"""
# 静态方法
getFont(parent: QWidget = None) -> Tuple[QFont, bool]
getFont(QFont, parent: QWidget = None, caption: str = '', options: QFontDialog.FontDialogOption) -> Tuple[QFont, bool]
"""参数1: 默认字体2. 父控件3. 对话框标题4. 选项返回值(最终字体, 是否点击确认)
"""
(3)信号
currentFontChanged(QFont) # 当前字体发生改变时
fontSelected(QFont) # 最终选择字体时

(2) QColorDialog

(1)描述

​ 颜色对话框的功能是允许用户选择颜色,继承自QDialog

(2)功能作用
# 构造函数
QColorDialog(parent: QWidget = None)
QColorDialog(Union[QColor, Qt.GlobalColor, QGradient], parent: QWidget = None)# 打开对话框
open(self)
open(PYQT_SLOT)打开后, 会自动连接colorSelected信号与此处指定的槽函数
exec() -> int# 当前颜色
setCurrentColor(QColor())
currentColor() -> QColor# 最终选中颜色
selectedColor()# 选项控制
setOption(self, QColorDialog.ColorDialogOption, on: bool = True)
setOptions(self, Union[QColorDialog.ColorDialogOptions, QColorDialog.ColorDialogOption])
testOption(self, QColorDialog_ColorDialogOption)
"""
QColorDialog.ColorDialogOptionQColorDialog.ShowAlphaChannel允许用户选择颜色的alpha分量。QColorDialog.NoButtons不显示“ 确定”和“ 取消”按钮。(对“实时对话框”有用。)QColorDialog.DontUseNativeDialog使用Qt的标准颜色对话框而不是操作系统原生颜色对话框。
"""# 静态方法
customCount() -> int
setCustomColor(int index, QColor color)
customColor(int index) -> QColor
setStandardColor(int index, QColor color)
standardColor(int index) -> QColor
getColor(initial: Union[QColor, Qt.GlobalColor, QGradient] = Qt.white, parent: QWidget = None, title: str = '', options: Union[QColorDialog.ColorDialogOptions, QColorDialog.ColorDialogOption] = QColorDialog.ColorDialogOptions()) -> QColor
(3)信号
colorSelected(QColor color)
currentColorChanged(QColor color)

(3) QFileDialog

(1)描述

​ 提供了一个对话框,允许用户选择文件或目录。继承自QDialog

(2)功能作用
# 最简单的获取方式(静态方法)
# 获取文件
getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]getOpenFileNames(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[List[str], str]getOpenFileUrl(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0, supportedSchemes: Iterable[str] = []) -> Tuple[QUrl, str]getOpenFileUrls(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0, supportedSchemes: Iterable[str] = []) -> Tuple[List[QUrl], str]getSaveFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0) -> Tuple[str, str]getSaveFileUrl(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0, supportedSchemes: Iterable[str] = []) -> Tuple[QUrl, str]
"""
过滤字符串格式:名称1(*.jpg *.png);;名称2(*.py)
"""# 获取文件夹
getExistingDirectory(parent: QWidget = None, caption: str = '', directory: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = QFileDialog.ShowDirsOnly) -> str
getExistingDirectoryUrl(parent: QWidget = None, caption: str = '', directory: QUrl = QUrl(), options: Union[QFileDialog.Options, QFileDialog.Option] = QFileDialog.ShowDirsOnly, supportedSchemes: Iterable[str] = []) -> QUrl# 构造函数
QFileDialog(QWidget, Union[Qt.WindowFlags, Qt.WindowType])
QFileDialog(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '')
L
# 接收模式
acceptMode() -> QFileDialog.AcceptMode
setAcceptMode(QFileDialog.AcceptMode)
"""QFileDialog.AcceptModeQFileDialog.AcceptOpen打开QFileDialog.AcceptSave保存
"""# 默认后缀
setDefaultSuffix(str)
defaultSuffix() -> str#设置文件模式
setFileMode(QFileDialog.FileMode)
fileMode() -> QFileDialog.FileMode
"""
QFileDialog.FileModeQFileDialog.AnyFile文件的名称,无论是否存在。QFileDialog.ExistingFile单个现有文件的名称。QFileDialog.Directory目录的名称。显示文件和目录。但是,本机Windows文件对话框不支持在目录选择器中显示文件。QFileDialog.ExistingFiles零个或多个现有文件的名称。
"""# 设置名称过滤器
setNameFilter(str)
setNameFilters(str)# 显示信息的详细程度
setViewMode(QFileDialog.ViewMode)
viewMode() -> QFileDialog.ViewMode
"""
QFileDialog.ViewModeQFileDialog.DetailQFileDialog.List
"""# 设置指定角色的标签名称
setLabelText(self, QFileDialog.DialogLabel, str)
"""QFileDialog.FileNameQFileDialog.AcceptQFileDialog.RejectQFileDialog.FileTypeQFileDialog.LookIn
"""# 打开对话框
open(self)
open(PYQT_SLOT) # 打开后, 会自动连接 filesSelected 信号与此处指定的槽函数
exec() -> int  
(3)信号
currentChanged(path_str) # 当前路径发生改变时
currentUrlChanged(QUrl) # 当前路径url发生改变时
directoryEntered(directory_str) # 打开选中文件夹时
directoryUrlEntered(QUrl directory) # 打开选中文件夹url时
filterSelected(filter_str) # 选择名称过滤器时
fileSelected(str) # 最终选择文件时
filesSelected([str]) # 选择多个文件时
urlSelected(QUrl url) # 最终选择url时
urlsSelected(List[QUrl]) # 最终选择多个url时

(4) QInputDialog

(1)描述

​ 提供了一个简单方便的对话框,获得来自用户的单个值

​ 输入值可以是字符串,数字或列表中的项目

​ 设置标签以告知用户应输入的内容

​ 继承自QDialog

(2)功能作用
# 常用的静态方法
getInt(QWidget, str, str, value: int = 0, min: int = -2147483647, max: int = 2147483647, step: int = 1, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) -> Tuple[int, bool]getDouble(QWidget, str, str, value: float = 0, min: float = -2147483647, max: float = 2147483647, decimals: int = 1, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) -> Tuple[float, bool]getDouble(QWidget, str, str, float, float, float, int, Union[Qt.WindowFlags, Qt.WindowType], float) -> Tuple[float, bool]getText(QWidget, str, str, echo: QLineEdit.EchoMode = QLineEdit.Normal, text: str = '', flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags(), inputMethodHints: Union[Qt.InputMethodHints, Qt.InputMethodHint] = Qt.ImhNone) -> Tuple[str, bool]getMultiLineText(QWidget, str, str, text: str = '', flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags(), inputMethodHints: Union[Qt.InputMethodHints, Qt.InputMethodHint] = Qt.ImhNone) -> Tuple[str, bool]getItem(QWidget, str, str, Iterable[str], current: int = 0, editable: bool = True, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags(), inputMethodHints: Union[Qt.InputMethodHints, Qt.InputMethodHint] = Qt.ImhNone) -> Tuple[str, bool]# 构造函数
QInputDialog(parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags())# 选项设置
setOption(self, QInputDialog.InputDialogOption, on: bool = True)
setOptions(self, Union[QInputDialog.InputDialogOptions, QInputDialog.InputDialogOption])
testOption(self, QInputDialog.InputDialogOption) -> bool
options(self) -> QInputDialog.InputDialogOptions
"""QInputDialog.InputDialogOptionQInputDialog.NoButtons不显示“ 确定”和“ 取消”按钮(对“实时对话框”有用)。QInputDialog.UseListViewForComboBoxItems使用QListView而不是不可编辑的QComboBox来显示使用setComboBoxItems()设置的项目。QInputDialog.UsePlainTextEditForTextInput使用QPlainTextEdit进行多行文本输入。该值在5.2中引入。
"""# 输入模式
inputMode(self) -> QInputDialog.InputMode
setInputMode(self, QInputDialog.InputMode)
"""
QInputDialog.InputModeTextInputIntInputDoubleInput
"""# 界面文本设置
setLabelText(str)
labelText(self) -> str
setOkButtonText(str)
setCancelButtonText(str)# 各个小分类设置
# 整型
setIntMaximum(self, int)
intMaximum(self) -> int
setIntMinimum(self, int)
intMinimum(self) -> int
setIntRange(self, int, int)
setIntStep(self, int)
intStep(self) -> int
setIntValue(self, int)
intValue(self) -> int
# 浮点型
setDoubleMaximum(self, float)
doubleMaximum() -> float
setDoubleDecimals(self, int)
doubleDecimals() -> int
setDoubleMinimum(self, float)
doubleMinimum(self) -> float
setDoubleRange(self, float, float)
setDoubleStep(self, float)
doubleStep(self) -> float
setDoubleValue(self, float)
doubleValue(self) -> float
# 字符串
setTextEchoMode(self, QLineEdit.EchoMode)
textEchoMode(self) -> QLineEdit.EchoMode
setTextValue(self, str)
textValue(self) -> str
# 下拉列表
setComboBoxItems(self, Iterable[str])
comboBoxItems(self) -> List[str]
setComboBoxEditable(self, bool)
isComboBoxEditable(self) -> bool
(3)信号
intValueChanged(int value)
intValueSelected(int value)
doubleValueChanged(double value)
doubleValueSelected(double value)
textValueChanged(text_str)
textValueSelected(text_str)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/66770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Next.js:构建大模型智能体GPT研究者应用的 Web开发框架

Next.js:构建大模型智能体GPT研究者应用的 Web开发框架 Next.js 基础知识 Next.js 是由 Vercel 公司开发维护的框架,极大地简化了 React 应用的开发流程。其核心特性包括: 服务器端渲染(SSR)与静态站点生成&#xff…

车载软件架构 --- CP和AP作为中央计算平台的软件架构双核心

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活…

华为EC6110T-海思Hi3798MV310_安卓9.0_通刷-强刷固件包

华为EC6110T-海思Hi3798MV310_安卓9.0_通刷-强刷固件包 刷机教程说明: 适用机型:华为EC6110-T、华为EC6110-U、华为EC6110-M 破解总分为两个部分:拆机短接破解(保留IPTV)和OTT卡刷(不保留IPTV&#xff09…

Element使用表单重置如果不使用prop,重置无法生效

文章目录 为什么需要 prop?示例:使用 prop 的正确方式关键点总结 在 element-ui 的 el-form 组件中, prop 属性是与表单验证和表单字段绑定密切相关的,尤其在使用 resetFields() 重置表单数据时。 如果不使用 prop&#xff0…

使用pyboard、micropython和tja1050进行can通信

单片机和can收发器之间tx、rx不需要交叉接线!!! tja1050的rx接Y3、tx接Y4 from pyb import CANcan CAN(1) can.init(modecan.NORMAL, prescaler6, sjw1, bs14, bs22, auto_restartTrue) # 1Mbps的配置,本文使用的micropython1.…

【信息系统项目管理师】高分论文:论信息系统项目的干系人管理(社保信息管理系统)

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 论文1、识别干系人2、规划干系人参与3、管理干系人4、监督干系人论文 2016年3月,我作为项目经理参与了XX市社保信息管理系统项目的建设,该项目投资共450万元人民币,建设工期为1年,通过该项目的实施,在XX市…

JavaScript系列(39)-- Web Workers技术详解

JavaScript Web Workers技术详解 🔄 今天,让我们深入了解Web Workers技术,这是一种能够在后台线程中运行脚本的强大特性,可以避免阻塞主线程,提升Web应用的性能和响应性。 Web Workers基础概念 🌟 &#…

26、正则表达式

目录 一. 匹配字符 .:匹配除换行符外的任意单个字符。 二. 位置锚点 ^:匹配输入字符串的开始位置。 $:匹配输入字符串的结束位置。 \b:匹配单词边界。 \B:匹配非单词边界。 三. 重复限定符 *:匹配…

Chrome远程桌面无法连接怎么解决?

Chrome远程桌面连接已停止工作 Chrome远程桌面是一款极为便捷的浏览器插件,能够帮助用户将自己的计算机连接到其他设备,无论是手机、平板电脑还是其他电脑。然而,在实际使用中,许多用户可能会面临各种各样的问题,比如…

备赛蓝桥杯之第十五届职业院校组省赛第一题:智能停车系统

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…

基于AutoDL云计算平台+LLaMA-Factory训练平台微调本地大模型

1. 注册与认证 访问AutoDL官网:前往 AutoDL官网。 注册账号:完成注册流程。 实名认证:按照要求完成实名认证,以确保账号的合规性。 2. 选择GPU资源 进入算力市场:在官网首页点击“算力市场”菜单。 挑选GPU&#x…

C语言练习(19)

已知5个学生的4门课的成绩&#xff0c;要求求出每个学生的平均成绩&#xff0c;然后对平均成绩从高到低将各学生的成绩记录排序&#xff08;成绩最高的学生排在数组最前面的行&#xff0c;成绩最低的学生排在数组最后面的行&#xff09;。 #include <stdio.h> #include &…

微信小程序使用picker根据接口给的省市区的数据实现省市区三级联动或者省市区街道等多级联动

接口数据如上图 省市区多级联动&#xff0c;都是使用的一个接口通过传参父类的code。返回我们想要的数据 比如获取省就直接不要参数。市就把省得code传给接口&#xff0c;区就把市的code作为参数。 <picker mode"multiSelector" :range"mulSelect1" …

VOSK实现【离线中文语音】识别

Vosk是一款开源的离线语音识别工具包&#xff0c;具有以下功能&#xff1a; 多语言支持&#xff1a;能够对20多种语言和方言进行语音识别&#xff0c;如中文、英语、德语、法语、西班牙语等&#xff0c;可满足不同用户的语言需求。 模型轻量化&#xff1a;每种语言的模型大小仅…

【Maui】注销用户,采用“手势”点击label弹窗选择

文章目录 前言一、问题描述二、解决方案三、软件开发&#xff08;源码&#xff09;3.1 方法一&#xff1a;前端绑定3.2 方法二&#xff1a;后端绑定3.3 注销用户的方法 四、项目展示 前言 .NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架&#xff0c;用于使用 C# 和 XAML 创…

macOS使用LLVM官方发布的tar.xz来安装Clang编译器

之前笔者写过一篇博文ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器介绍了Ubuntu下使用官方发布的tar.xz包来安装Clang编译。官方发布的版本中也有MacOS版本的tar.xz&#xff0c;那MacOS应该也是可以安装的。 笔者2015款MBP笔记本&#xff0c;CPU是intel的&#xff0c;出厂…

中企出海:从国际投资建厂:投前投中投后重点事项

1. 投前重点事项 1.1 市场调研与分析 在国际投资建厂的投前阶段&#xff0c;市场调研与分析是至关重要的基础工作&#xff0c;它能够帮助企业全面了解目标市场&#xff0c;为后续决策提供有力依据。 市场规模与潜力&#xff1a;通过收集和分析目标国家或地区的经济数据、行业…

Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理

目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢&#xff1f; 1.2.如何检验效果&#xff1f; 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景&#xff1a; 3.2.使用方法&#xff1a; 4.撤销修改 情况一&#xff1a;对于工作区的代码&#xff0c;还没…

Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归

本章正式开始使用pytorch的接口来实现对应的numpy的学习的过程&#xff0c;来学习模型的实现&#xff0c;我们会介绍numpy是如何学习的&#xff0c;以及我们如何一步步的通过torch的接口来实现简单化的过程&#xff0c;优雅的展示我们的代码&#xff0c;已经我们的代码完成的事…

String.join()

String.join() 方法是 Java 8 及其以上版本中的一个方法&#xff0c;用于将多个字符串用指定的分隔符连接成一个字符串。 其语法为&#xff1a; java复制 String joinedString String.join(CharSequence delimiter, CharSequence... elements); 在这个方法中&#xff1a;…