在退出先前實例後,是否可以創建和使用新的QApplication實例?在先前實例已退出後重新創建QApplication
回答
貌似這個問題討論:
Problems with Multiple QApplications
而不是創造的QApplication的新實例,你可以創建一個自己的窗口,一個新的線程,並把它看成你將一個不同的QApplication的來自單一程序。
我相信另一個問題有一個微妙的區別。聽起來好像,mgamer想要一次只激活一個QApplication,但在前一個被銷燬後創建一個新的。 –
@Judge Maygarden - 那正是我試圖實現的 – mgamer
是的,您可以在先前的實例被銷燬後創建一個新的QApplication。我使用PyQt4在Windows中進行了驗證。下面的程序顯示一個空的窗口。關閉第一個窗口後,第一個QApplication被銷燬,第二個QApplication被創建,然後顯示第二個空白窗口。請注意,如果沒有del app
聲明,我遇到了問題。這相當於在C++的QApplication上使用delete
。只要確保在堆上而不是堆棧上分配QApplication實例。
from PyQt4 import QtCore, QtGui
import sys
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.show()
app.exec_()
del app # force garbage collection of the first QApplication
app = QtGui.QApplication(sys.argv)
window = QtGui.QWidget()
window.show()
app.exec_()
有沒有一種方法可以呈現這樣的多人網址? http://blog.sitescraper.net/2010/06/scraping-javascript-webpages-in-python.html –
這有點偏離主題。但是,不需要多個QApplication實例。只需創建多個Web視圖。 –
- 1. 請首先實例化QApplication對象
- 2. 重新創建實例
- 3. 回到先前的屏幕,而無需創建新實例
- 4. android.app.Application單例實例被重新創建
- 5. 在基類中重新創建實例
- 6. 在Qt中隱藏和重新啓動QApplication的相同實例
- 7. 更新的CKEditor的CSS後實例已創建
- 8. gtkmm statusicon創建後退出
- 9. 重新創建實體單例
- 10. Castle Windsor重新創建實例
- 11. 崩潰後創建新實例
- 12. 如何創建當前實例的新實例?
- 13. Grails。 GORM。創建新實例時出錯
- 14. Web服務器意外退出,重新啓動新實例
- 15. 由eval創建的新實例變量在eval退出時不會停止
- 16. 從Qapplication事件循環創建一個新的Qapplication
- 17. 在退出子例程之前刪除多個實例
- 18. QApplication exec()創建新的線程/進程?
- 19. 單擊後退按鈕後重新創建活動狀態
- 20. Java:創建新實例
- 21. 創建KClass的新實例
- 22. Windows Phone後退按鈕和頁面實例創建
- 23. 在主函數(庫)外實例化QApplication
- 24. 重新創建活動後切換回先前選擇的選項卡
- 25. 刪除先前的sqlite存儲文件後重新創建持久性存儲
- 26. 創建新實體foo時出錯,編輯先前存在的foo,然後保存。通用4004錯誤
- 27. 跟蹤已創建實例的列表
- 28. 該過程的退出狀態在退出之前已打印
- 29. 如何重新啓動QApplication
- 30. 在Android中創建新類的實例
你試過簡單的情況嗎?我做了,我絕對有能力做到這一點。我用它來連續運行測試應用程序......所以我會說,是的。 – vrince