Qt標准對話框之QColorDialog


Qt中提供了一些標准的對話框,用於實現一些常用的預定義功能,比如本節中將要介紹的顏色對話框——QColorDialog。

在不同的系統平台下,顏色對話框的顯示效果可能會有所不同,主要因系統主題風格而異,但是功能是相同的,顯示效果如下:

查看幫助文檔的話,我們可以看到這個類提供的方法還是很多的,但是我們一般情況下用到的也就一個靜態的成員方法:getColor(),該函數的原型如下:

1 QColor QColorDialog::getColor(const QColor & initial = Qt::white, QWidget * parent = 0, const QString & title = QString(), ColorDialogOptions options = 0) [static]

通過該方法可以返回一個QColor值,但是如果用戶單擊“Cancel”按鈕的話,就可以返回一個非法的顏色值,因此我們需要調用QColor::isValid()方法來判斷這個顏色值是否正確。下面給出一段完整的代碼:

1 void UserSettingWindow::changeColorBtnClickedSlot()
2 {
3     QColor color = QColorDialog::getColor(Qt::black);
4 
5     if (color.isValid())
6     {
7         qDebug() << color.redF() << color.greenF() << color.blueF();
8     }
9 }

以上是一個響應槽函數的代碼,如果得到合法的顏色值,就通過qDebug()輸出。此外,這里的QColor類提供了一些獲取顏色值的方法比如獲取三個通道的getRgb()和getRgbF()函數,以及獲取單個通道顏色的red(),redF(),green(),greenF(),blue()和blueF()函數,使用十分方便,具體的細節請查看幫助手冊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM