我正在尝试学习如何在PyQt Gui应用程序中使用QThreads.我有一些运行一段时间的东西,有(通常)点我可以更新一个Gui,但我想将主要工作拆分到它自己的线程(有时候东西会卡住,最终会有一个很好的取消/再试一次按钮,如果由于主循环被阻止,Gui被冻结,这显然不起作用).
我已阅读https://mayaposch.wordpress.com/2011/11/01/how-to-really-truly-use-qthreads-the-full-explanation/.该页面说重新实现该run方法不是这样做的方法.我遇到的问题是找到一个PyQt示例,其中有一个主线程正在执行Gui,而一个工作线程没有这样做.这篇博文是针对C++的,所以虽然它的例子确实有帮助,但我仍然有点失落.有人可以请给我一个在Python中正确方法的例子吗?
我搜索了很多,我知道如何打开目录对话框窗口.但我要找的是在Windows操作系统下打开目录文件夹的方法,就像你右键单击一个本地文件夹并选择打开一样.
有什么建议?
使用时QFileDialog.getExistingDirectory我找到了指定目录默认路径的方法.我想在我的Linux(Mint)机器上的(用户)主文件夹中的某处使用默认目录.我用了:
my_dir = QtGui.QFileDialog.getExistingDirectory(
self,
"Open a folder",
"/home/my_user_name/",
QtGui.QFileDialog.ShowDirsOnly
)
Run Code Online (Sandbox Code Playgroud)
哪个效果很好.现在,下一个"级别"可以为每个用户执行此操作.我尝试了标准的Linux方式并/home/my_user_name/改为~/.那没用.它导致工作目录而不是用户的目录.
从终端调用我的应用程序时,我应该使用更多系统参数吗?或者我错过了PyQt功能?