线程中的QApplication

0 投票
1 回答
1083 浏览
提问于 2025-04-16 23:15

我正在用Python使用一个叫spynner的模块。spynner需要在一个QApplication实例上运行。我想要异步地运行一些使用spynner的函数。

我尝试在不同的线程中调用这些函数,像这样:thread.start_new_thread(function_using_spynner)

这样做如果只运行一个函数是可以的,但如果我尝试同时运行两个,就会出现一个错误,提示说QApplication不能在主线程之外创建。有没有办法在同一个线程中异步运行这些函数?因为这些函数不返回任何值,所以只要运行它们就可以了。

如果没有办法,那有没有其他方法可以在主线程之外创建QApplication实例?我不需要显示界面。

1 个回答

0

你可以在主线程中运行 function_using_spynner,然后在其他线程中做你需要做的事情。或者,你也可以先在主线程中启动 QApplication,然后再分出多个线程来处理其他任务。

撰写回答