利用QPalette改變控制項顏色

2021-08-15 09:40:01 字數 2803 閱讀 8236

qpalette類相當於對話方塊或控制項的調色盤,它管理著控制項或窗體的所有顏色資訊,每個窗體或控制項都包含乙個qpalette物件,在顯示時按照它的qpalette物件中對各部分各狀態下的顏色的描述來進行繪製。

qpalette類有兩個基本的概念,乙個是colorgroup,另乙個是colorrole。

void qpalette::setcolor ( colorrole

role, const qcolor & color );

void qpalette::setcolor ( colorgroup

group, colorrole

role, const qcolor & color );

void qpalette::setbrush ( colorrole

role, const qbrush & brush );

void qpalette::setbrush ( colorgroup

group, colorrole

role, const qbrush & brush );

colorgroup:

qpalette::disabled

不可用狀態

qpalette::active

活躍狀態(獲得焦點)

qpalette::inactive

不活躍狀態(未獲得焦點)

colorrole:

qpalette::window

乙個常規的背景顏色

qpalette::background

這個值是廢棄的,使用window代替

qpalette::windowtext

乙個一般的前景顏色

qpalette::foreground

這個值是廢棄的,使用windowtext代替.

qpalette::base

最長使用來作為text背景顏色為整個widget,但是也能被用來為其他的繪畫,像combobox的上下清單的背景和工具欄控制代碼。它通常是白的或者其他亮的顏色.

qpalette::alternatebase

被用來作為輪流的背景顏色,輪流的行顏色

qpalette::tooltipbase

被用來作為背景顏色為qtooltip和qwhatsthis。工具尖端使用qpalette不活躍的顏色組,因為工具尖端不是活躍的視窗.

qpalette::tooltiptext

被用來作為前景顏色為qtooltip和qwhatsthis.工具尖端使用qpalette不活躍的顏色組,因為工具尖端不是活躍的視窗.

qpalette::text

前景顏色使用base.這通常和windowtext相同,它一定提供好的對比window和base

qpalette::button

button背景顏色。這個背景顏色能是不同於window作為一些風格,要求乙個不同的背景顏色作為button

qpalette::buttontext

乙個前景顏色被用來作為button顏色.

qpalette::brighttext

乙個text顏色是很不同於windowtext,很好的對比與dark。典型的被用來為text,需要被畫,在text或者windowtext將給差的對比,就像在按下的button。注意text顏色能被用來為事情,而不只是單詞;text顏色通常被用來為text,但是他是相當普通的使用text顏色角色為行,圖示,等等。

另外,在設定對話方塊和控制項的背景色時還會用到:

Android EditText 改變邊框顏色

第一步 為了更好的比較,準備兩個一模一樣的edittext 當activity啟動時,焦點會在第乙個edittext上,如果你不希望這樣只需要寫乙個高度和寬頻為0的edittext即可避免,這裡就不這麼做了 如下 html view plain copy edittext android layou...

MapXtremE 中改變feature顏色

1.c code mapinfo.data.table table mapinfo.engine.session.current.catalog.opentable c programfiles mapinfo mapxtreme2004 maps north america usa.tab thi...

關於jquery jqgrid 改變行背景顏色

在做專案工程中,遇到過客戶要求在同一行上的兩個列值不等時,標記顏色,用於馬上定位到這一行的值不相等 如下是具體實現 首先,在jqgrid的gridcomplete中載入一下方法 gridcomplete function 資料載入完成後,如果 兩特定列值不等時,則記錄在列表中用粉紅色表示 funct...