前幾篇內容我們介紹了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高手養成