我正在Qt 5.5與Qt Creator一起工作。 我有一個名爲settingsWindow的大類,正如名稱所示,它負責各種設置。然後使用這些設置來啓動一些QDialog,這些QDialog在qGraphicsView中的場景中顯示非常複雜的動畫,並通過QCoreApplication :: processEvents()不斷更新,這些動畫反過來保持GUI的響應。動畫是通過QDialog的start()方法啓動的。 我想同時運行這些QDialog,例如通過按鈕啓動,在同一時刻啓動所有這些QDialog。我試過使用一個包裝器,也就是從QObject繼承的一個簡單的類,每次將它分配給不同的線程,但是如果我啓動一個QDialog,一切正常,當我開始第二個時,第一個「塊」(動畫停止並且僅在第二個Qdialog中動畫可見)。 我唯一的解決方案是爲它們中的每一個啓動一個單獨的QProcess(這樣我確信它們分開運行並且位於不同的線程中),但是我需要重寫邏輯(每個QDialog的單獨程序)。如何在不同線程中同時運行多個QDialog?
任何更簡單的解決方案?先謝謝你。
你如何顯示對話框?你叫'QDialog :: exec()'? – jpo38
我調用'QDialog :: show()',然後'name_of_the_dialog-> start()',開始動畫。 – Michael