2011-07-21 35 views

回答

0

貌似這個問題討論:

Problems with Multiple QApplications

而不是創造的QApplication的新實例,你可以創建一個自己的窗口,一個新的線程,並把它看成你將一個不同的QApplication的來自單一程序。

+2

我相信另一個問題有一個微妙的區別。聽起來好像,mgamer想要一次只激活一個QApplication,但在前一個被銷燬後創建一個新的。 –

+0

@Judge Maygarden - 那正是我試圖實現的 – mgamer

3

是的,您可以在先前的實例被銷燬後創建一個新的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_() 
+0

有沒有一種方法可以呈現這樣的多人網址? http://blog.sitescraper.net/2010/06/scraping-javascript-webpages-in-python.html –

+0

這有點偏離主題。但是,不需要多個QApplication實例。只需創建多個Web視圖。 –