天天看點

Qt顔色對話框實作

**

Qt實作顔色對話框

**

qt在進行顔色對話框開發時,可采用QColorDialog類的靜态成員函數

*getColor(const QColor &initial = Qt::white, QWidget parent = nullptr, const QString &title = QString(),QColorDialog::ColorDialogOptions options = …)

參數

其中第一個參數為初始顔色,第二個為父視窗,第三個為顔色對話框标題,第四個為顔色對話框可選參數,其類型為枚舉型。

Tips:

該函數會彈出一個模态顔色對話框,以供使用者選擇顔色,如果使用者標明一個顔色,并點選ok按鈕,将會傳回所標明的顔色,如果不標明顔色,直接點選ok按鈕,則傳回初始顔色。如果使用者標明顔色後點選cancel或者直接點選關閉按鈕,則會傳回無效的顔色,這裡無效的顔色預設為黑色。

當出現上述無效顔色時,會傳回黑色,這往往是不需要的,是以需要先對傳回的顔色進行有效性判斷,如果傳回的顔色有效,則進行下一步操作,如果傳回的顔色無效,則提示使用者正确選擇顔色。這裡傳回顔色的有效性可通過QColor::isValid()函數判斷,該函數傳回值為book型,如果顔色有效,則傳回true,否則傳回false。