首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt:什么是QAbstractItemView::NoEditTrigger的反面?

Qt:什么是QAbstractItemView::NoEditTrigger的反面?
EN

Stack Overflow用户
提问于 2018-11-04 17:06:57
回答 1查看 375关注 0票数 1

我希望启用和禁用对某些信号上的QTableView小部件的编辑。我可以通过以下方式禁用它:

代码语言:javascript
复制
table->setEditTriggers(QAbstractItemView::NoEditTriggers);

但是怎么打开它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-04 17:20:18

如果打印editTriggers:

代码语言:javascript
复制
qDebug()<< table->editTriggers();

获得:

代码语言:javascript
复制
QFlags<QAbstractItemView::EditTriggers>(DoubleClicked|EditKeyPressed|AnyKeyPressed)

因此,可以假定默认状态是:

代码语言:javascript
复制
QAbstractItemView::DoubleClicked | QAbstractItemView::EditKeyPressed | QAbstractItemView::AnyKeyPressed

或者更简单的解决方案是在开始时将状态保存为类的成员:

*.h

代码语言:javascript
复制
// ...
private:
    QAbstractItemView::EditTriggers default_trigger;

*.cpp

代码语言:javascript
复制
// constructor
default_trigger = table->editTriggers();

然后在您的函数中使用:

代码语言:javascript
复制
if(table->editTriggers() == QAbstractItemView::NoEditTriggers)
    table->setEditTriggers(default_trigger);
else
    table->setEditTriggers(QAbstractItemView::NoEditTriggers);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53143228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档