嘿伙计们。当我试图打开PyQt窗口时遇到问题。
下面的代码是我原始代码的一个例子。当我在import Test
中导入模块并运行test.Start()
时,出现以下错误:
QCoreApplication::exec: The event loop is already running
经过一番研究,我发现这是因为我已经做了一个QApplication
。
test.py....
import sys
def Start():
app = QApplication(sys.argv)
m = myWindow()
m.show()
app.exec_()
class myWindow():....
if __name__ == "__main__":
Start()
然后我读到我可以像这样重写我的代码,它会修正错误:
test.py....
def Start():
m = myWindow()
m.show()
class myWindow():....
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
Start()
app.exec_()
现在我不再得到QCoreApplication::exec:事件循环已经在运行错误,但是我的窗口几乎在打开后立即关闭。
您还可以执行以下操作:
需要保持对打开窗口的引用,否则它将超出范围,并被垃圾回收,这也将破坏基础C++对象。尝试:
相关问题 更多 >
编程相关推荐