gpt4 book ai didi

python 线程 图形用户界面

转载 作者:行者123 更新时间:2023-11-30 23:45:44 25 4
gpt4 key购买 nike

我在使用 PyQt4 和线程包时遇到一个小问题:

我的代码如下所示:

def goForwardToSamples(self):
self.main.dataSet = DataSetProvider(self.main.sourceFile)
self.ui = Ui_NeuralPredictor2()
self.ui.setupUi(self)
ParalelGui(self.ui).start()
self.connectSignalsWindow2()
def connectSignalsWindw2(self):
# DOING SOME REAL SERIOUS COMPUTATION ...

=> 现在 ParalGui 类中的 def run(self): 看起来像这样:

def run(self):
self.gui.show()

=> 我只是想测试我的 GUI 是否能与计算并行运行。

我觉得我知道问题出在哪里。我有一个 QtableView,里面充满了我编写的数据(做一些真正严肃的计算..)。 QtableView 当然是我发送到 ParalGui 线程以显示的 ui 的一部分。我不太确定如何让它工作......基本上我想让 GUI 的一部分线程化并已经显示,而另一部分在不同的线程中动态填充。

现在发生的是典型的“你没有线程卡住你的 gui”...非常感谢帮助

最佳答案

尽管您的示例非常有限,但我将尝试一下我认为您在这里所做的事情......

对我来说,你似乎在向后做事,并试图在主线程中进行大量计算的同时在线程中显示你的图形用户界面?

您真正应该做的是在主线程中创建并显示您的 gui,并在单独的工作线程中运行繁重的计算。然后,当数据准备好时,该工作线程可以发出信号,您的主线程可以连接到该信号并快速更新您的表。这样你就不会阻塞你的主线程。经验法则是永远不要在主线程中做任何繁重的事情。它适用于 GUI 及其事件。

此外,请确保您使用的是 QThread 类而不是 python 线程模块。

关于python 线程 图形用户界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9403040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com