首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当我向第二个窗口添加小部件时PyQt5崩溃了

当我向第二个窗口添加小部件时PyQt5崩溃了
EN

Stack Overflow用户
提问于 2020-04-12 18:27:49
回答 1查看 59关注 0票数 0

当我尝试向第二个窗口添加小部件时,它崩溃了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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

(我只分享了我认为相关的代码,如果你觉得缺少什么,我可以提供更多)

首先要感谢大家!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-13 15:06:08

这个可以在Python3 (3.7.5) Pyqt5 (5.12.3)上运行,你的代码在我的设置中出现了很多错误

试一试,看看你的系统是什么样子的

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/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_()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61176244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文