Python用PyQt5製作顏色對話框,PyQt圖形界面編程之QColorDialog

2020-12-11 python高手養成

前幾篇內容我們介紹了PyQt5中3種常見的標準彈出對話框。

彈出對話框更加方便人機交流

Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框

如何通過Qt界面設置字體屬性,Python中PyQt5的QFontDialog類詳解

Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog

今天,我們來介紹另外一種彈出對話框QColorDialog控制項。

準備好了嗎?馬上開始

01QColorDialog控制項簡介

這應該也是一種常用的彈出對話框,當程序中需要設置某一控制項或控制項外字體顏色時,我們使用該控制項,對顏色進行選擇、設置。它的樣子應該是這樣的。

顏色設置對話框

先來看下其繼承順序

QColorDialog類繼承關係

因此,對於彈出對話框QDialog類的一些方法和屬性,它都是直接可以使用的,如果需要自定義,直接重寫相應的方法即可,這裡不再贅述了。

02QColorDialog類的常用方法及信號

QColorDialog類提供常用方法如下

方 法描 述
currentColor()返回當前顏色值
selectedColor()
返回已選顏色值
setCurrentColor()
設置當前顏色值
setCustomColor()設置客戶自定義顏色區內容
customColor()獲取自定義顏色內容

自定義顏色區內容如下框所示

客戶自定義顏色區

常用信號如下

信 號描 述
currentColorChanged當前顏色改變時觸發該信號
currentColorSelected當前顏色被選中時觸發該信號

QColorDialog類的使用跟前面的QFileDialog和QInputDialog類似,都是由其它控制項觸發一個槽函數,通過槽函數中調用類的靜態方法來彈出對話框進行設置的。

03QColorDialog靜態方法使用

介紹這個類的靜態方法使用,其它彈出對話框使用方法跟這個類似,大家可以參照學習。

類似參照學習

QColorDialog靜態方法如下:

getColor(initial, parent, title, options ) → QColor

initial:Union[QColor, GlobalColor] = white,用來設置初始顏色,如下圖所所示位置顏色的設定,默認為白色,即Qt.white

initial參數設置內容

parent:QWidget = None,這個不解釋了,它的父控制項,如果該參數指定,則父控制項屬性變化時,該QColorDialog控制項的屬性也相應進行變化(比如父控制項背景色發生改變了)。

title:str = '',不解釋,QColorDialog控制項的標題。

options:Union[ColorDialogOptions, ColorDialogOption] = QColorDialog.ColorDialogOptions(),設置顏色的屬性,這裡不做過多解釋了,對於顏色對話框進行高度個性化設置時,這些參數很有用,留給大家自學吧!

這部分內容自學哦


04QColorDialog簡單應用

我們自定義一個窗體,設置兩個按鈕控制項,一個控制窗體內所有控制項的背景色,一個控制窗體內按鈕控制項的背景色。來看下原始碼。

示例原始碼

這裡效果就不做過多展示了,喜歡的小夥伴可以自己試試看。

好了,今天的內容就到這裡了,喜歡Python編程的小夥伴關注我,後續為大家持續推出更精彩的內容。

轉載請註明出處,百家號:Python高手養成

想了解更多精彩內容,快來關注python高手養成



相關焦點

  • python高級進階 002第一個pyqt5程序
    ,本節,我們繼續使用pyqt5開發程序。app.exec_()主要作用是用死循環來監聽界面的關閉按鈕等界面控制項等事件__name__在本文件運行的時候,結果就是__main__使用__name__==『__main__『來模擬python程序主入口為了使得我們能夠對qtdesigner設計後生成的代碼更加熟悉,我們今後會更多直接使用純pyqt5代碼來編寫程序,當然,在熟悉以後,我們可以直接使用qtdesigner直接快速圖形化開發界面
  • python gui 中三大框架tkinter,wxpython, pyqt如何選擇
    python開發圖形界面也有這樣的煩惱,有很多gui框架提供我們選擇,讓我們眼花繚亂,我們很難從中選擇一個。下面我簡單介紹下主流的三個python gui框架。wxPython 是一款開源軟體,是 Python 語言的一套優秀的 GUI 圖形庫,允許 Python 程式設計師很方便的創建完整的、功能健全的 GUI 用戶界面。pyqt5是一套Python綁定Digia QT5應用的框架。它可用於Python 2和3。Qt庫是最強大的GUI庫之一。
  • Python用PyQt5製作彈出式輸入框,Qt圖形界面編程之QInputDialog
    計數器QSpinBox使用詳解,Python用PyQt5製作圖形界面基礎控制項篇Python界面編程之PyQt5基礎控制項介紹,QSlider滑動條控制項使用詳解Python界面編程之PyQt5常見控制項應用展示,單選鈕和複選鈕使用詳解
  • Python 圖形界面框架 PyQt5 使用指南!
    用得比較廣泛,跨平臺,C++編寫,文檔少,用戶可能就需要根據編程內容對不同平臺中的GUI代碼做一些調整。遇到問題不好解決,代碼布局控制項,不直觀。Wax[7]:基於wxPython ,為克服wxPython的問題而製作的一個包。
  • Python用PyQt5設計界面,如何正確顯示一幅圖片,QPixmap控制項詳解
    前期回顧擁有漂亮的筆刷才能繪製多彩界面,PythonPyQt5中QPen和QBrush類Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解Python用PyQt5製作顏色對話框
  • Python 的圖形界面(GUI)編程?
    公眾號暱稱:一個程式設計師的日常 ,公眾號ID:smcode2016公眾號文章保持幾乎與專欄的同步,這樣方便一些平常不怎麼刷知乎的朋友使用,同時公眾號將持續更新一些免費的教程資料給大家今天的想寫的文章來源一個題目:Python 的跨平臺圖形界面編程選用哪個庫為好?
  • 零基礎學習python GUI編程(PyQt)系列之一:開發軟體安裝
    在使用python進行界面編程時,很多開發者都是用了PyQt這個框架進行,PyQt是一個跨平臺的框架。它是用C ++編寫的。這是一個非常全面的庫。它包含許多工具和API。它被廣泛應用於許多行業。它涵蓋了很多平臺。PyQt是Qt庫的Python版本。
  • Python數據可視化之高速繪圖神器PyQtGraph庫,強烈建議收藏
    02什麼是PyQtGraph庫先上個2D繪製效果圖:再來個3D繪製效果圖:PyQtGraph是一個純python的圖形和GUI庫,構建於PyQt4/PySide和numpy之上,它主要用於數學/科學/工程應用方面。
  • 圖形界面編程技巧,用Python中PyQt5庫快速創建一個應用程式框架
    在此之前,GPL的版本只能用在Unix上,從PyQt的版本4開始,GPL許可證可用於所有支持的平臺。PyQt模塊包含的內容PyQt提供了哪些模塊?可謂是博大精深,這個庫不僅提供了圖形界面的開發,還提供了諸如多線程、網絡、資料庫、圖形渲染等諸多常用功能。比較常用的接口如下:QtCore模塊包含核心的非GUI功能。該模塊用於時間、文件和目錄、各種數據類型、流、網址、MIME類型、線程或進程。
  • Python GUI編程之PyQt5入門到實戰
    PyQt5基礎1.1 GUI編程學什麼1.2 PyQT是什麼QT是跨平臺C++庫的集合,它實現高級API來訪問現代桌面和移動系統的許多方面。這些服務包括定位和定位服務、多媒體、NFC和藍牙連接、基於Chromium的web瀏覽器以及傳統的UI開發。PyQt5是Qt v5的一組完整的Python綁定。
  • Python用PyQt5創建時間日期控制項,Qt圖形界面編程之QDateTimeEdit
    回顧精彩內容「五一」快到了,用Python中PyQt5做一個日曆,QCalendar控制項詳解Python用PyQt5設計界面,如何正確顯示一幅圖片,QPixmap控制項詳解Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框Python界面編程之PyQt5基礎控制項介紹,QSlider滑動條控制項使用詳解今天,我們來詳細了解一個比日曆控制項功能更加豐富的QDateTimeEdit控制項。
  • Python高級進階 007 pyqt5消息盒子QMessageBox
    >以下開始文字講解:一、Pyqt5界面基本寫法目標效果點擊按鈕,出現消息選擇框,處理消息選擇框的點擊結果效果圖二可視化界面開發環境搭建python高級進階#002第一個pyqt5程序Python高級進階#003 pyqt5與qtdesigner對照分析Python高級進階#004
  • Python用PyQt5繪製多彩隨機散點圖,基本控制項之QPainter使用詳解
    Python用PyQt5製作顏色對話框,PyQt圖形界面編程之QColorDialogQt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框Qt圖形界面編程之QFileDialog類,Python用PyQt5製作文件對話框
  • Python編程:Python3+PyCharm+PyQt5開發環境詳細配置,建議收藏
    Python + PyQt + PyCharm 架構編程簡介先簡單說下為什麼要使用這樣的程序開發架構,原因如下:Python:一種面向對象的高級動態程式語言,相比於其它如C/C++語言,具有上手快、代碼少、開發效率高的特點PyQt:Qt在Python下的綁定庫,而Qt是跨平臺的C++圖形用戶界面應用程式開發框架,是當前主流的GUI開發工具之一PyCharm:
  • Python使用PyQt界面庫繪製不停旋轉的圓控制項
    Python是一種面向對象的高級動態程式語言,相對於其它如C/C++語言,具有上手快、代碼量少、開發效率高等特點,Qt是跨平臺的C++圖形用戶界面應用程式開發框架,是當前主流的GUI開發工具之一,其在Python下的綁定是PyQt庫。
  • Python數據可視化:使用pyqtgraph庫輕鬆繪製股票K線圖
    K線圖介紹對於股票交易者來講,K線圖是弄清股票一段時間走勢的一種最基本的圖形工具,K線分為陽線和陰線,陽線和陰線都包含了開盤價、收盤價、最高價和最低價,一般K線如下圖所示:當收盤價大於開盤價時,稱為陽線,在圖形上一般用紅色表示,反之,當收盤價低於開盤價時,稱為陰線,在圖形上一般用綠色表示。由於其形狀頗似一根根蠟燭,K線圖有時也叫做蠟燭圖。
  • 每個python人都離不開的12個python庫
    Click現在幾乎所有的框架都有自己的命令行腳手架,python也不例外,那麼如何快速開發出屬於自己的命令行程序呢?答案就是使用python的click庫。click庫對命令行api進行了大量封裝,你可以輕鬆開發出屬於自己的CLI命令集。終端的顏色,環境變量信息,通過click都可以輕鬆進行獲取和改變。
  • PyQt5多線程之信號與槽的使用
    QThread.LowPriority,低優先級4、QThread.NormalPriority,系統默認優先級5、QThread.HighPriority,高優先級6、QThread.HighestPriority,最高優先級7、QThread.TimeCriticalPriority,儘可能頻繁地分配執行8、QThread.InheritPriority,默認用與創建線程相同的優先級
  • Python中使用pyqtgraph庫實現數據可視化之逐點刷新波形圖
    另外,它不僅為各種數據提供了快速可交互式的圖形顯示,同時也提供了用於快速開發應用程式的各種小工具,如屬性樹、流程圖等小部件,在數學、科學和工程領域都有著廣泛的應用。在使用pyqtgraph庫繪製圖形的編程方法上,前面一篇文章已經給了一個最簡單的例子以及一個連續刷新波形圖的例子,下面再給一個逐點刷新波形圖的例子。