Главная » C++ » QListWidget :: setEditTriggers (QAbstractItemView :: AnyKeyPressed) не работает
QListWidget :: setEditTriggers (QAbstractItemView :: AnyKeyPressed) не работает
Из книги, которую я читаю:
По умолчанию QListWidget доступен только для чтения. Если бы мы хотели, чтобы пользователь редактировал
элементы, мы могли бы установить триггеры редактирования вида, используя
QAbstractItemView :: 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);