Qt: Что является противоположностью QAbstractItemView::NoEditTriggers?
Я хочу включить и отключить редактирование виджета QTableView для определенных сигналов. Я могу отключить его:
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
Но как включить его снова?
1 ответ
Решение
Если editTriggers печатается:
qDebug()<< table->editTriggers();
получается:
QFlags<QAbstractItemView::EditTriggers>(DoubleClicked|EditKeyPressed|AnyKeyPressed)
поэтому можно предположить, что состояние по умолчанию:
QAbstractItemView::DoubleClicked | QAbstractItemView::EditKeyPressed | QAbstractItemView::AnyKeyPressed
Или более простое решение - сохранить состояние в начале как член класса:
*.час
// ...
private:
QAbstractItemView::EditTriggers default_trigger;
*.cpp
// constructor
default_trigger = table->editTriggers();
а затем в своей функции вы используете:
if(table->editTriggers() == QAbstractItemView::NoEditTriggers)
table->setEditTriggers(default_trigger);
else
table->setEditTriggers(QAbstractItemView::NoEditTriggers);