·设为首页收藏本站📧邮箱修改🎁免费下载专区🔐设置/修改密码👽群雄群聊
返回列表 发布新帖

pyqt 小问题 请教一下论坛大佬

96 9
发表于 2024-2-7 22:45:33 | 显示全部楼层 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. class Loginpage(QDialog,login_Ui_Form):    def __init__(self, parent=None):        super(Loginpage, self).__init__(parent)        self.setupUi(self)        self.loginBtn.clicked.connect(self.slot_gotoMainPage)    def slot_gotoMainPage(self):        self.mainPage = MainPage(self)        self.mainPage.show()        self.close()class MainPage(QDialog,Ui_MainWindow):    def __init__(self, parent=None):        super(MainPage, self).__init__(parent)        self.setupUi(self)        #self.btnExit.clicked.connect(self.close)if __name__ == '__main__':    app=QApplication([])    window=Loginpage()    window.show()    sys.exit(app.exec_())
复制代码

报错:Process finished with exit code -1073740791 (0xC0000409)
错误代码 0xC0000409 通常指的是一个堆栈缓冲区溢出的问题。这个错误可能由多种原因引起,但在你的代码上下文中,最可能的原因是如何处理窗口(QDialog)的显示与关闭。

两个页面 一个是登录页,一个是主页面,想通过点击登录页面的按钮 跳转到主页面

但是一直出错
我要说一句 收起回复

评论9

拾光Lv.8 发表于 2024-2-7 22:46:24 | 显示全部楼层
大佬们sos
我要说一句 收起回复
TyCodingLv.8 发表于 2024-2-7 22:46:45 | 显示全部楼层
upupup
我要说一句 收起回复
IT618发布Lv.8 发表于 2024-2-7 22:47:42 | 显示全部楼层
大佬们 看看
我要说一句 收起回复
TyCodingLv.8 发表于 2024-2-7 22:48:34 | 显示全部楼层
大佬们 来看看咯
我要说一句 收起回复
IT618发布Lv.8 发表于 2024-2-7 22:49:19 | 显示全部楼层
报错就那么点信息么?吧完整的报错发出来看看。
我要说一句 收起回复
婷姐Lv.8 发表于 2024-2-7 22:49:27 | 显示全部楼层
就这么点东西,ai也看不出来咋解决啊

错误代码 0xC0000409 通常与堆栈缓冲区溢出有关,这在 GUI 应用程序中可能是由于对象管理不当或事件处理错误引起的。在你提供的代码中,我注意到了几个可能的问题点,我们可以逐一检查并尝试解决:

窗口的生命周期管理:当你从 Loginpage 类中创建 MainPage 实例时,你将 MainPage 的实例赋值给了 self.mainPage。这在大多数情况下是可行的,但如果 Loginpage 对象在某些情况下被垃圾回收,可能会导致一些问题。确保 MainPage 的生命周期被正确管理是很重要的。

关闭窗口的方式:在 slot_gotoMainPage 方法中,你使用了 self.close() 来关闭登录窗口。这本身通常是没问题的,但在某些情况下可能会导致问题,尤其是当事件循环还在处理其他事件时。你可以尝试使用 self.hide() 替代 self.close() 来看是否有改善。

事件循环和父子窗口关系:你在创建 MainPage 时传入了 self 作为父对象。这意味着 MainPage 的生命周期与 Loginpage 紧密相关。这通常是合理的,但如果你希望 MainPage 在 Loginpage 关闭后仍然存在,你可能需要重新考虑这种父子关系的设置。

错误的其他潜在来源:考虑到错误代码指向堆栈缓冲区溢出,可能还存在其他代码部分(未在你的代码片段中显示)引起的问题。例如,任何递归调用、大量数据处理或不当的内存管理都可能导致此类问题。

为了解决这个问题,你可以尝试以下步骤:

使用 self.hide() 替代 self.close() 来隐藏 Loginpage 窗口,而不是完全关闭它。
检查是否有任何递归函数调用或大量数据处理,这可能导致堆栈溢出。
确保所有的 UI 组件都被正确初始化,没有遗漏的父对象指定,特别是对于像按钮这样的组件,确保它们已经在 self.setupUi(self) 调用中被正确设置。
如果这些步骤没有解决问题,你可能需要更详细地检查代码,或者使用调试工具来确定具体的崩溃点。
我要说一句 收起回复
拾光Lv.8 发表于 2024-2-7 22:49:36 | 显示全部楼层
试过了 还是不行
我要说一句 收起回复
独家记忆Lv.8 发表于 2024-2-7 22:50:10 | 显示全部楼层
:lol:lol:lol
我要说一句 收起回复
拾光Lv.8 发表于 2024-2-7 22:50:40 | 显示全部楼层
:Q:Q:Q:Q
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图

您的IP:3.238.71.155,182.106.158.57,GMT+8, 2024-4-17 00:27 , Processed in 0.268242 second(s), 147 queries , Gzip On, Redis On.

Based on Discuz! W1.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表