QTableWidget中的Star Delegate

时间:2012-06-16 19:42:49

标签: c++ qt

我复制了stardelegate,stareditor和starrating来自示例http://doc.qt.io/qt-5/qtwidgets-itemviews-stardelegate-example.html的源文件和头文件,我尝试将星级评分功能实现到树小部件而不是像示例中的表小部件。星星正在显示,问题是不像前面的例子那样可编辑,实际上是整行。我的代码导致了这个:

ui->tree->setItemDelegate(new StarDelegate);
ui->tree->setItemDelegateForColumn(2, new StarDelegate);
ui->tree->setEditTriggers(QAbstractItemView::DoubleClicked | QAbstractItemView::SelectedClicked);
ui->tree->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tree->setColumnCount(3);
ui->tree->setHeaderLabels(QStringList() << "Name" << "Date" << "Rating");

请告诉我我做错了什么,谢谢。

1 个答案:

答案 0 :(得分:3)

QTableWidget项目默认是可编辑的,QTreeWidget项目不是。

您必须将标记Qt::ItemIsEditable添加到评级列中所有项目的现有标记。