当我尝试向第二个窗口添加小部件时,它崩溃了
Class MainWindow(Qt.QMainWindow):
def __init__(self):
self.setWindowTitle("Window 1")
self.Button = Qt.QPushButton("to second")
self.Button.clicked.connect(self.opensecond)
def opensecond(self):
self.close()
self.secondpage = Second()
Class Second(Qt.QMainWindow):
def __init__():
self.setWindowTitle("Window 2")
self.Layout = Qt.QGridLayout()
self.setLayout = Qt.QGridLayout()
#self.IsLabel = Qt.QLabel("This should show")
上面的代码运行良好,但是当我取消对self.IsLabel的注释时,这个窗口崩溃了整个应用程序。下面是Apple问题报告(如果需要,我有完整的文档)
崩溃线程:0调度队列: com.apple.main-thread
异常类型: EXC_CRASH (SIGABRT)
异常码: 0x0000000000000000,0x0000000000000000
例外说明: EXC_CORPSE_NOTIFY
(我只分享了我认为相关的代码,如果你觉得缺少什么,我可以提供更多)
首先要感谢大家!
发布于 2020-04-13 15:06:08
这个可以在Python3 (3.7.5) Pyqt5 (5.12.3)上运行,你的代码在我的设置中出现了很多错误
试一试,看看你的系统是什么样子的
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sys
from PyQt5 import QtWidgets
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.setWindowTitle("Window 1")
Button = QtWidgets.QPushButton("To Second")
self.setCentralWidget(Button)
Button.resize(100,100)
Button.clicked.connect(self.opensecond)
self.show()
def opensecond(self):
self.close()
self.secondpage = Second()
self.secondpage.show()
class Second(QtWidgets.QMainWindow):
def __init__(self):
super(Second, self).__init__()
self.setWindowTitle("Window 2")
self.resize(506, 312)
IsLabel = QtWidgets.QLabel("This should show")
self.setCentralWidget(IsLabel)
self.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window=MainWindow()
app.exec_()
https://stackoverflow.com/questions/61176244
复制相似问题