qlistwidget :: setEditTriggers(qabstractitemview :: AnyKeypr
QListWidget::setEditTriggers(QAbstractItemView::AnyKeyPressed) not working
我正在阅读的书中:
默认情况下,qlistwidget仅读取。如果我们希望用户编辑 这些项目,我们可以使用 qabstractItemView :: setEditTriggers();例如,设置 qabtractiTemview :: AnyKeyPressed表示用户可以开始编辑 仅通过开始输入的项目。
所以,我在代码中调用该功能:
ui->listWidget->setEditTriggers(QAbstractItemView::AnyKeyPressed);
但是,当我选择一个项目并开始键入时,什么也不会发生。
事实证明,这些项目本身也有一个可编辑标志,因此添加它们后,我必须迭代所有这些标志并将其设置。现在正在工作。
// set the editable flag for each item
for (int ii = 0; ii < ui->listWidget->count(); ii++) {
ui->listWidget->item(ii)->setFlags(ui->listWidget->item(ii)->flags() | Qt::ItemIsEditable);
}
// set the editable triggers for the list widget
ui->listWidget->setEditTriggers(QAbstractItemView::AnyKeyPressed);