两个文件.每个窗口都运行一个新窗口并单独运行.我需要同时运行它们.
当我运行first.pyw时,仅显示一个(第二)窗口.
是否可以同时运行两个?
first.pyw:
import sys
from PyQt4.QtGui import *
import second
class first(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setWindowTitle('first')
app = QApplication(sys.argv)
firstApp = first()
firstApp.show()
sys.exit(app.exec_())
second.pyw:
import sys
from PyQt4.QtGui import *
class second(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
self.setWindowTitle('second')
app2 = QApplication(sys.argv)
secondApp = second()
secondApp.show()
sys.exit(app2.exec_())
如何运行位于不同模块中的两个应用程序?
解决方法:
尽管您的应用程序可以有多个*窗口,但一次只能运行一个应用程序. QCoreApplication docs说:
…there should be exactly one QCoreApplication object.
从QCoreApplication派生的QApplication也是如此.您可以通过QCoreApplication.instance()方法或C中的qApp宏访问该应用程序.
您希望从运行两个不同的应用程序中学到什么?相反,您可以让每个模块提供一个顶层窗口,然后由应用程序启动器显示该窗口.