我有一个 QTableWidget。在它的单元格中,我需要显示三态 QSlider,它们必须根据它们的状态改变它们的颜色。-1 = 红色,0 - 正常,1 - 绿色。我试图将 QPalette 设置为 QSlider - 没有成功。我试图将 QSlider 放入带有布局的 QWidget 并将调色板应用于 QWidget - 没有成功。怎么做?我需要任何颜色标志(边框或全背景等) 怎么做?
问问题
1031 次
1 回答
1
你可以使用QItemDelegate
,然后你就可以统治你的QSlider
into QTableWidget
。
细节。
首先,您应该从QItemDelegate
. 一个好的文档doc.qt.digia
使用 qitemdelegate 举例说明
您应该替换QSpinBox
为QSlider
. 阅读本文档后,您可以根据需要为您的QSlider
.
QTableWidget *table = new QTableWidget(this);
table->setItemDelegateForColumn(index_column, delegate);
// or table->setItemDelegateForRow(index_row, delegate);
// or table->setItemDelegate(delegate);
Toeditor
总是打开的,你应该使用openPersistentEditor()
. 例如:
QTableWidgetItem *item = new QTableWidgetItem;
table->insertRow(row);
table->setItem(row, index_your_delegate, item);
table->openPersistentEditor(item);
于 2012-10-22T09:45:01.297 回答