標籤:
QPalette類提供了繪製QWidget控制項時使用的顏色。
控制項的顏色狀態分三種:
(1)Active,啟用狀態
(2)Disabled,禁用狀態
(3)Inactive,未啟用狀態
控制項在這三種不同的狀態下具有不同的顏色值,QPalette類管理這三組顏色,它根據這三種狀態分為三組顏色,每一組顏色都根據繪圖角色的不同分類。系統在繪製控制項時使用這些顏色,程式員可以改變這些設定。
設定的方法是先調用QWidget::palette()擷取當前面板,修改它為自訂的值後再通過方法QWidget::setPalette設定為新修改的面板。代碼如下所示:
[cpp] view plaincopy
- QPalette palette = widget->palette();
- palette.setColor(QPalette::Window, Qt::lightGray); //改變控制項背景色
- palette.setColor(QPalette::WindowText, Qt::blue); //改變控制項字型顏色
- ...
- widget->setPalette(palette);
通過這種方法,可以方便設定控制項的背景色,字型顏色等。
常用的設定方法如下:
(1) void QPalette::setBrush ( ColorRole role, const QBrush & brush )
改變所有組下指定角色role的畫刷顏色值。
(2) void QPalette::setBrush ( ColorGroup group, ColorRole role, const QBrush & brush )
改變指定組group下的指定角色role的畫刷顏色值。
(3) void QPalette::setColor ( ColorRole role, const QColor & color )
改變所有組下指定角色role的顏色值。
(4) void QPalette::setColor ( ColorGroup group, ColorRole role, const QColor & color )
改變指定組group下指定角色role的顏色值。
後續詳細:http://blog.csdn.net/xgbing/article/details/7784984
Qt之控制項顏色面板類QPalette(轉自CSDN,xgbing)