0

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

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");

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

4

1 回答 1

3

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

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

于 2012-06-17T00:23:58.330 回答