我有一個QTableWidget。在它的細胞中,我需要顯示三態QSliders,它必須根據它們的狀態來改變它們的顏色。 -1 =紅色,0 - 正常,1 - 綠色。我試圖將QPalette設置爲QSlider - 取得成功。我嘗試將QSlider放入帶Layout的QWidget中,並將調色板應用於QWidget - 取得成功。 如何做到這一點?我需要任何顏色符號(邊框或全背景,e.t.c)如何做到這一點?如何在QTableWidget中更改QWidget的顏色
0
A
回答
1
你可以使用QItemDelegate
,那麼你就可以將你的QSlider
統治成QTableWidget
。
詳情。
起初,你應該從QItemDelegate
派生。好文檔由doc.qt.digia
example using qitemdelegate
您應該用QSpinBox
替換爲QSlider
。在閱讀本文檔後,您可以通過設置顏色QSlider
來滿足您的需求。
QTableWidget *table = new QTableWidget(this);
table->setItemDelegateForColumn(index_column, delegate);
// or table->setItemDelegateForRow(index_row, delegate);
// or table->setItemDelegate(delegate);
要editor
總是打開的,你應該使用openPersistentEditor()
。例如:
QTableWidgetItem *item = new QTableWidgetItem;
table->insertRow(row);
table->setItem(row, index_your_delegate, item);
table->openPersistentEditor(item);
相關問題
- 1. QTableWidget - 更改行顏色
- 2. 如何使用css更改QStackedWidget中QWidget的背景顏色?
- 3. 如何更改qtablewidget項目的qtooltip的背景顏色?
- 4. 如何更改QTableWidget垂直標題的顏色
- 5. 在QTableWidget中,更改所選行的文本顏色
- 6. 如何更改頭部(水平/垂直)QT背景顏色QTableWidget?
- 7. QTableWidget選擇顏色
- 8. QTableWidget顏色,風格
- 9. 如何在Netbeans中更改此顏色?
- 10. 如何在OpenGL中將顏色更改爲隨機顏色?
- 11. 如何更改光標顏色而不更改文字顏色?
- 12. 如何更改sbt顏色?
- 13. 如何更改ActionBar顏色
- 14. 如何更改createCircularReveal()顏色?
- 15. 如何更改layer.border.top顏色?
- 16. 如何更改CircularFillableLoaders顏色?
- 17. 如何更改CCTexture2D顏色
- 18. UNITY - 如何更改顏色?
- 19. 如何更改ActionBar顏色?
- 20. 如何更改UITabBar顏色?
- 21. UITableView如何更改顏色?
- 22. 如何更改ttk.Separator顏色
- 23. 如何更改JProgressBar顏色?
- 24. 如何更改顏色?
- 25. 如何更改顏色
- 26. 如何更改GroupStyle顏色?
- 27. 如何更改QIcon顏色?
- 28. raphael如何更改顏色
- 29. 如何更改JLabel顏色
- 30. 如何更改TabPanel顏色?
你想展示(一段代碼)你已經試過了嗎?所以,我們可以看到你做了什麼。 –
這是標籤。背景顏色是白色的。 QLabel * label = new QLabel(this); QPalette palette = label-> palette(); palette.setColor(label-> backgroundRole(),Qt :: green); label-> setText(「aaa」); label-> setPalette(palette); this-> ui-> tableWidgetSwitches-> setCellWidget(0,1,label); –