尝试将Gui创作的一部分移至辅助线程

时间:2018-12-29 13:45:34

标签: python multithreading pyqt

我一直在使用PyQT创建一个GUI应用程序,其中包含三个不同的菜单选项。菜单选项中的一个包含大约100个按钮的库,每个按钮的背景图像都通过样式表加载(此过程的代码如下。因此,将创建此窗口小部件的方法放入构造函数中会导致初始化的大量延迟应用程序

因此,我决定尝试在按下按钮时初始化此视图。按下该按钮,用户将移至加载页面,在该页面中加载库视图,然后在完成时移至。但是,这将锁定gui线程,并且从未显示加载页面,因此我想合并QThread或QThreadPool来创建gui的较大位,然后在完成时对其进行设置。 目前,我收到此错误:

QObject :: setParent:无法设置父对象,新的父对象位于另一个线程中。

该代码位于here,因为它很长,并且包含几个文件。

我希望不仅可以在后台加载gui的这一部分,而且可以使用loadingView上的progressBar禁用它的进度。有没有一种方法可以在辅助线程中创建Gui元素,然后在主线程中初始化视图?感谢您的帮助。

0 个答案:

没有答案