2012-06-16 50 views
0

我複製了stardelegate,stareditor和starrating源文件和頭文件,例如http://doc.qt.io/qt-5/qtwidgets-itemviews-stardelegate-example.html,我嘗試將星級評定功能實現爲樹部件而不是像示例那樣的表部件。星星們正在展示,問題在於它不像上述例子那樣可編輯,實際上是整行。我的代碼導致:QTableWidget中的星級代表

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

請告訴我我做錯了什麼,謝謝。

回答

2

QTableWidget項目默認是可編輯的,QTreeWidget項目不是。

您必須將標誌Qt::ItemIsEditable添加到評級列中所有項目的現有標誌。