我希望启用和禁用对某些信号上的QTableView小部件的编辑。我可以通过以下方式禁用它:
table->setEditTriggers(QAbstractItemView::NoEditTriggers);但是怎么打开它呢?
发布于 2018-11-04 17:20:18
如果打印editTriggers:
qDebug()<< table->editTriggers();获得:
QFlags<QAbstractItemView::EditTriggers>(DoubleClicked|EditKeyPressed|AnyKeyPressed)因此,可以假定默认状态是:
QAbstractItemView::DoubleClicked | QAbstractItemView::EditKeyPressed | QAbstractItemView::AnyKeyPressed或者更简单的解决方案是在开始时将状态保存为类的成员:
*.h
// ...
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);https://stackoverflow.com/questions/53143228
复制相似问题