这是我在这里的第二个问题,请耐心等待。我有一个包含两个类的Python脚本,其中之一管理GUI,另一个是我的“工作线程”(一个PyQt线程)。为了能够从“工作线程”更新GUI,我知道我可以设置pyqt信号并在不同点发出这些信号。在GUI线程中,我设置了连接语句,应该连接到GUI线程中的一个函数,该函数将更新GUI。
为了使此GUI更新功能知道它必须对GUI做什么,信号还发射了一个额外的参数,但在GUI线程中没有被捕获。我认为我知道这是为什么,但我无法弄清楚如何使其正常工作。
我可以包含一些代码,但有很多可能包括的部分,所以我想等待看看任何人具体要求什么部分。
希望有人能帮助我解决这个问题。
编辑:非常感谢您的回答farshed-。我应该在原始问题中加入这一点,我正在使用PyQt 4。我知道应该使用“start()”运行线程类,但当我这样做时,程序立即崩溃并停止工作。这导致我在初始化后使用“run()”来启动线程。
另外,在您的代码段中,在连接语句中直接调用updateProgressBar方法而没有直接传递任何参数,在定义该方法的括号中,只有显示该方法将接收参数。我已经尝试过这个,但它只是告诉我你希望听到的,如果你调用任何正常函数并且没有提供必要数量的参数。可能是因为我正在使用PyQt 4,也可能是因为我直接调用“run()”而不是“start()”。如果可能,希望这能帮助您进一步回答我的问题。再次,请告诉我需要包含哪些代码段。
谢谢,
BoshJailey
为了使此GUI更新功能知道它必须对GUI做什么,信号还发射了一个额外的参数,但在GUI线程中没有被捕获。我认为我知道这是为什么,但我无法弄清楚如何使其正常工作。
我可以包含一些代码,但有很多可能包括的部分,所以我想等待看看任何人具体要求什么部分。
希望有人能帮助我解决这个问题。
编辑:非常感谢您的回答farshed-。我应该在原始问题中加入这一点,我正在使用PyQt 4。我知道应该使用“start()”运行线程类,但当我这样做时,程序立即崩溃并停止工作。这导致我在初始化后使用“run()”来启动线程。
另外,在您的代码段中,在连接语句中直接调用updateProgressBar方法而没有直接传递任何参数,在定义该方法的括号中,只有显示该方法将接收参数。我已经尝试过这个,但它只是告诉我你希望听到的,如果你调用任何正常函数并且没有提供必要数量的参数。可能是因为我正在使用PyQt 4,也可能是因为我直接调用“run()”而不是“start()”。如果可能,希望这能帮助您进一步回答我的问题。再次,请告诉我需要包含哪些代码段。
谢谢,
BoshJailey