QCompleter与任何数据模型都会导致分段错误?

时间:2012-12-24 15:52:04

标签: python qt qt4 pyqt

我为QCompleter创建QLineEdit,如果子类中没有动态定义的函数/方法,则可以正常工作(尝试在{{1}中使用./bugCompleterFilesysModel.py n n运行脚本然后尝试通过删除LineEdit框中的一些字符来调出完成者。 [0, 1, 2, 9]可以与QCompleterQStringListQStringListModel一起使用。

如果我在子类中使用简单QFileSystemModel的{​​{1}}添加一些动态定义的函数/方法,那么实例也可以正常运行(尝试在{{QCompleter n中运行脚本1}},然后通过删除LineEdit框中的一些字符来尝试调出完成符。)

但是,如果我动态定义任何函数/方法,QCompleter与任何类型的数据模型都会在关闭GUI窗口时引发错误:

QStringList

要重复此错误,请尝试使用./bugCompleterFilesysModel.py n中的[10, 20, 30] m运行脚本,QObject::startTimer: QTimer can only be used with threads started with QThread Segmentation fault 中的n,然后尝试通过删除LineEdit框中的一些字符来显示完成符,然后关上窗户。

任何人都可以告诉我为什么这样以及如何解决它?我几个小时都在摸不着头脑。谢谢你!

./bugCompleterFilesysModel.py mn的完整脚本:

[1,2,3]

1 个答案:

答案 0 :(得分:1)

这可能与删除顺序有关。

尝试将QLineEdit设置为QCompleter的父级,以便QLineEdit删除它,而不是在其之前删除。