對於所有的Qt表單,繪製成什麼顏色 或者圖案,都是由這個這個表單的QPalette決定的。QPalette就像一個調色版,由預先設定的一些顏色和圖案。繪製的時候,程式從中得到相關繪製類型所需要的顏色或圖案,然後繪製表單。預設情況下,一個表單會使用其parent的QPalette作為自己的QPalette。對於沒有parrent的表單,則使用預設的 Pallete。我們也可以給一個表單指定一個QPalette。例子如下:
QTreeView * treeView = new QTreeView(Form); //建立一個表單treeView
treeView->setGeometry(QRect(220, 50, 131, 131)); //設定表單的位置
QPalette palette1; //建立一個palette
QBrush brush3(QColor(255, 255, 127, 255)); //建立一把刷子
palette1.setBrush(QPalette::Active, QPalette::Base, brush3); //設定調色盤的 啟用顏色組 裡面的 QPalette::Base 類型,用brush3繪製
treeView->setPalette(palette1); //為建立的表單指定palette
treeView_2 = new QTreeView(Form);
treeView_2->setGeometry(QRect(20, 40, 131, 141));
QPalette palette2;
QBrush brush4(QColor(255, 0, 0, 255));
brush4.setStyle(Qt::SolidPattern);
palette2.setBrush(QPalette::Active, QPalette::Base, brush4);
treeView_2->setPalette(palette2);