如何在插槽期间获取PyQt插槽来更新QTreeView?

时间:2017-06-30 05:22:43

标签: python pyqt qtreeview

所以我开始在github(https://github.com/BetaRavener/uPyLoader)上为uPyLoader贡献代码,这个应用程序有一个编译按钮。单击编译按钮时,它将连接到名为compile_files的插槽。以下是我的一些修改尝试的代码(如果你想查看整个文件,请在main.py中)。

我试图解决的问题是,当你编译foo.py它会创建foo.mpy并且如果foo.mpy已经存在那么你就无法确定编译是否做了什么。我想看时间戳更新。

所以我正在研究QFileSystemModel的所有内容,看看如何刷新它,但后来我通过阅读了解到,如果我没有自定义模型,那么标准模型已经为我创建了一个QFileSystemWatcher。然后我确信,这可以解释为什么一个新的.mpy会出现,如果不存在的话。此外,如果我手动删除文件,PyQt UI会更新。所以后来我很困惑为什么在我的函数下面unlink没有让文件消失然后回来。

然后我注释掉了实际的编译步骤,确定mpy文件确实消失了。所以我在插槽中了解到,我不相信更新会被处理。

Windows.System.ProcessLauncher

然后我研究了如何在插槽中刷新或重新绘制并找到了这些:

QT Repaint/Redraw/Update/Do Something!

Why must QApplication.processEvents() be called until QNetworkRequest is finished when using QWebView?

但是我尝试了QApplication.processEvents()并没有帮助。

有人可以指出如何在插槽中更新ui。

加分问题!

为什么QFileSystemWatcher没有看到更新的时间戳并更新模型或QTreeView?只是好奇是否有错误或只是它是如何工作的。

0 个答案:

没有答案