我已經重寫了這個問題,以便更清楚。從Qapplication事件循環創建一個新的Qapplication
在我的代碼中,我創建了一個QApplication,使用QTimer.singleShot()將應用程序連接到應用程序,然後執行我的應用程序。
現在在這個插槽中,我想在另一個進程中創建另一個QApplication,我使用了multiprocessing.Process類,並從進程內部嘗試啓動另一個QApplication並執行它,但由於事件循環已經存在正在運行!,我知道我不能運行兩個事件循環,但我正在另一個進程中運行新的QApplication,因此它應該運行。
我知道這不是一個常見的實現,但它會更容易得到這個在我的情況下運行。
這裏是一個代碼示例: 我得到的錯誤是 「QCoreApplication :: EXEC:事件循環已經運行」
import multiprocessing
from PyQt4 import QtCore,QtGui
def first_app_slot():
mProcess = multiprocessing.Process(target = run_another_app)
mProcess.start()
mProcess.join()
def run_another_app():
second_app = QtGui.QApplication([])
second_app.exec_()
if __name__ == "__main__":
first_app = QtGui.QApplication([])
QtCore.QTimer.singleShot(0,first_app_slot)
first_app.exec_()
請張貼您的代碼! – HazemGomaa
我不知道你在做什麼,什麼是錯誤等。請讓這個問題對他人有用 - 我們無法讀懂你的想法。 –
對不起,我已經重寫了這個問題,謝謝你的反饋。 –