當在QTableView中選中某個單元格時,其中的圖標會顯示藍色突出顯示,如何控制此突出顯示的顏色或將其禁用?當選中單元格時,更改QTableView中圖標的顏色突出顯示
我試着設置QPalette :: Highlight,但沒有奏效。
編輯:
好了,所以我不知道如何改變背景顏色和文字顏色和顏色的亮點,而不是一個圖標。如果我返回一個圖標作爲單元格的裝飾,當單元格被選中時,它會顯示淡藍色的高亮。我如何刪除它?
當在QTableView中選中某個單元格時,其中的圖標會顯示藍色突出顯示,如何控制此突出顯示的顏色或將其禁用?當選中單元格時,更改QTableView中圖標的顏色突出顯示
我試着設置QPalette :: Highlight,但沒有奏效。
編輯:
好了,所以我不知道如何改變背景顏色和文字顏色和顏色的亮點,而不是一個圖標。如果我返回一個圖標作爲單元格的裝飾,當單元格被選中時,它會顯示淡藍色的高亮。我如何刪除它?
這是完全不可能改變與Qt的標準樣式此行爲。你需要實現你自己的特定風格才能解決這個問題。
您可以使用樣式表來定義元素的顏色。 QTableView
中選定項目的名稱是selection-background-color
。所以,改變這個元素的顏色,你會選擇你喜歡的背景顏色。
#include <QtWidgets/QApplication>
#include <QtWidgets/QTableView>
#include <QStandardItemModel>
int main(int argc, char* argv[]) {
QApplication app(argc, argv);
QTableView *table = new QTableView();
QStandardItemModel *model = new QStandardItemModel(2,2);
table->setModel(model);
table->setStyleSheet("selection-background-color: red");
table->show();
return app.exec();
}
看看它的外觀在圖片:
是的,但這對圖標沒有任何影響。至少我沒有做到這一點。你能做到這一點嗎? – 0xbaadf00d
當你說「icon」時,你的意思是「表頭」? –
不,您可以通過返回圖像作爲單元格的裝飾項目來設置圖標。每個單元格都可以擁有自己的圖標。 – 0xbaadf00d
圖標的背景是否透明? –