在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ Qt 標(biāo)準(zhǔn)對話框之 QColorDialog
Qt 容器和算法拾遺
自定義 model 之一
反走樣
Hello, world!
Qt 容器類之關(guān)聯(lián)存儲容器
QStringListModel
拖放技術(shù)之一
狀態(tài)欄
QTreeWidget
拖放技術(shù)之二
通用算法
event()
Qt 學(xué)習(xí)之路(18): Qt 標(biāo)準(zhǔn)對話框之 QInputDialog
Qt 容器類之遍歷器和隱式數(shù)據(jù)共享
QListWidget
Meta-Object 系統(tǒng)
事件接收與忽略
Qt 學(xué)習(xí)之路(tip): parent 參數(shù)
Qt 標(biāo)準(zhǔn)對話框之 QColorDialog
QPainter(續(xù))
國際化(下)
漸變填充
自定義委托
創(chuàng)建 shared library
model-view 架構(gòu)
Graphics View Framework
自定義拖放數(shù)據(jù)對象
QSortFilterProxyModel
國際化(上)
組件布局
自定義 Model 之三
事件過濾器
QDirModel
Hello, world!(續(xù))
Qt 標(biāo)準(zhǔn)對話框之 QFileDialog
自定義 model 之二
深入了解信號槽
坐標(biāo)變換
剪貼板操作
QTableWidget
QByteArray 和 QVariant
創(chuàng)建一個對話框(下)
Qt 學(xué)習(xí)之路(32): 一個簡易畫板的實現(xiàn)(Graphics View)
文本文件讀寫
自定義事件
編寫跨平臺的程序
MainWindow
初探信號槽
Qt 學(xué)習(xí)之路(17): Qt 標(biāo)準(zhǔn)對話框之 QMessageBox
繪圖設(shè)備
菜單和工具條(續(xù))
二進(jìn)制文件讀寫
QString
事件(event)
菜單和工具條
QPainter
Qt 容器類之順序存儲容器
進(jìn)程間交互
API 文檔的使用
創(chuàng)建一個對話框(上)
一個簡易畫板的實現(xiàn)(QWidget)

Qt 標(biāo)準(zhǔn)對話框之 QColorDialog

繼續(xù)來說 Qt 的標(biāo)準(zhǔn)對話框,這次說說 QColorDialog。這是 Qt 提供的顏色選擇對話框。

使用 QColorDialog 也很簡單,Qt 提供了 getColor()函數(shù),類似于 QFileDialog 的getOpenFileName(),可以直接獲得選擇的顏色。我們還是使用前面的 QAction 來測試下這個函數(shù):

        QColor color = QColorDialog::getColor(Qt::white, this); 
        QString msg = QString("r: %1, g: %2, b: %3").arg(QString::number(color.red()), QString::number(color.green()), QString::number(color.blue())); 
        QMessageBox::information(NULL, "Selected color", msg);

不要忘記 include QColorDialog 哦!這段代碼雖然很少,但是內(nèi)容并不少。

第一行 QColorDialog::getColor()調(diào)用了 QColorDialog 的 static 函數(shù) getColor()。這個函數(shù)有兩個參數(shù),第一個是 QColor 類型,是對話框打開時默認(rèn)選擇的顏色,第二個是它的 parent。

第二行比較長,涉及到 QString 的用法。如果我沒記錯的話,這些用法還沒有提到過,本著“有用就說”的原則,盡管這些和 QColorDialog 毫不相干,這里還是解釋一下。QString("r: %1, g: %2, b: %3")創(chuàng)建了一個 QString 對象。我們使用了參數(shù)化字符串,也就是那些%1之類。在 Java 的properties 文件中,字符參數(shù)是用{0}, {1}之類實現(xiàn)的。其實這都是一些占位符,也就是,后面會用別的字符串替換掉這些值。占位符的替換需要使用 QString 的 arg()函數(shù)。這個函數(shù)會返回它的調(diào)用者,因此可以使用鏈?zhǔn)秸{(diào)用寫法。它會按照順序替換掉占位符。然后是 QString::number()函數(shù),這也是 QString 的一個 static 函數(shù),作用就是把 int、double 等值換成 QString 類型。這里是把QColor 的 R、G、B 三個值輸出了出來。關(guān)于 QString 類,我們會在以后詳細(xì)說明。

第三行就比較簡單了,使用一個消息對話框把剛剛拼接的字符串輸出。

現(xiàn)在就可以運行這個測試程序了??瓷先ズ芎唵危皇菃??

QColorDialog 還有一些其他的函數(shù)可以使用。

QColorDialog::setCustomColor()可以設(shè)置用戶自定義顏色。這個函數(shù)有兩個值,第一個是自定義顏色的索引,第二個是自定義顏色的 RGB 值,類型是 QRgb,大家可以查閱 API 文檔來看看這個類的使用,下面只給出一個簡單的用發(fā):

QColorDialog::setCustomColor(0, QRgb(0x0000FF));

getColor()還有一個重載的函數(shù),簽名如下:

QColorDialog::getColor( const QColor & initial, QWidget * parent, const QString & title, ColorDialogOptions options = 0 )

第一個參數(shù) initial 和前面一樣,是對話框打開時的默認(rèn)選中的顏色;

第二個參數(shù) parent,設(shè)置對話框的父組件;

第三個參數(shù) title,設(shè)置對話框的 title;

第四個參數(shù) options,是 QColorDialog::ColorDialogOptions 類型的,可以設(shè)置對話框的一些屬性,如是否顯示 Alpha 值等,具體屬性請查閱 API 文檔。特別的,這些值是可以使用 OR 操作的。

QColorDialog 相對簡單一些,API 文檔也很詳細(xì),大家遇到問題可以查閱文檔的哦!

本文出自 “豆子空間” 博客,請務(wù)必保留此出處 http://devbean.blog.51cto.com/448512/194031

上一篇:組件布局下一篇:自定義事件