站点图标 谷姐靓号网

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

Rate this post

    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)的显示与关闭。

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

但是一直出错

热议
2楼 akatom 昨天21:01

大佬们sos

3楼 akatom 昨天21:06

upupup

4楼 akatom 昨天21:08

大佬们 看看

5楼 akatom 昨天21:19

大佬们 来看看咯

6楼 似毛非毛 昨天21:22

报错就那么点信息么?吧完整的报错发出来看看。

7楼 100637645 昨天21:25

就这么点东西,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) 调用中被正确设置。
如果这些步骤没有解决问题,你可能需要更详细地检查代码,或者使用调试工具来确定具体的崩溃点。

8楼 akatom 昨天21:29

就这么点东西,ai也看不出来咋解决啊

错误代码 0xC0000409 通常与堆栈缓冲区溢出有关,这在 GUI 应用程序 ...

试过了 还是不行

9楼 akatom 昨天21:35

10楼 akatom 昨天21:37

12楼 akatom 昨天21:54

13楼 akatom 昨天22:21

14楼 william2ct 昨天22:49

这个垃圾就别用了,没有详细错误信息。很难用。一些地方还要加上事件处理

申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。

退出移动版