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.pswp.cn/web/66770.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66770.shtml
英文地址,請注明出處:http://en.pswp.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;…