我已经从示例http://doc.qt.io/qt-5/qtwidgets-itemviews-stardelegate-example.html中复制了stardelegate,stareditor和starrating源文件和头文件,并且我尝试将star rating功能实现为树部件而不是表格示例中的表格部件。星星在显示,问题是像上述示例一样不可编辑,实际上是整行。我的代码导致此:
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");
请告诉我我在做什么错,谢谢。
最佳答案
默认情况下,QTableWidget
项是可编辑的,而QTreeWidget
项则不可编辑。
您必须将标记Qt::ItemIsEditable
添加到评级列中所有项目的现有标记。
关于c++ - QTableWidget中的星级代表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11066491/