• 4541阅读
  • 0回复

[讨论]在QItemDelegate中弹对话框的问题 [复制链接]

上一主题 下一主题
离线mayunshen
 

只看楼主 倒序阅读 楼主  发表于: 2014-06-25
表格中有一列为图标,想实现效果:图标编辑状态时出现一个按钮,点击按钮弹出文件对话框,可以选择图标文件修改图标见下图 。
  

使用代理实现的,在Qt4.5下正常,在5.1中就程序崩溃,分析原因发现弹出文件对话框时setModelData会被调用。后来查看Qt源码发现在QItemDelegate::eventFilter中5.1少了部分代码:
            if (QApplication::activeModalWidget()                && !QApplication::activeModalWidget()->isAncestorOf(editor)                && qobject_cast<QDialog*>(QApplication::activeModalWidget()))                return false;         在代理类中重写了eventFilter,就都正常了。不知道在5.1中为什么去掉对对话框的支持。
快速回复
限100 字节
 
上一个 下一个