PyQt5页面跳转问题及解决方式
创始人
2024-03-23 15:28:56
0

问题1:如何实现页面间跳转

主要定义MainWindow类和Actions.py

class MainWindow:
在这里插入图片描述

Actions.py:

在这里插入图片描述

问题2:实现定义函数传参功能

在这里插入图片描述

大胆修改,将定义函数的参数值改为a;使用函数处将参数加上:

在这里插入图片描述

运行,开始报错。

问题3:sumodify() takes 2 positional arguments but 3 were given

在这里插入图片描述
是类定义中 def sumodify(a,b)方法中self参数的问题。

self,表示创建的类实例本身,方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。在创建实例的时候,就不能传入空的参数了,必须传入与方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去。

解决方案:在def函数时,先传入self:
在这里插入图片描述

问题4:argument 1 has unexpected type ‘NoneType’

在这里插入图片描述

因为sumodify()函数是该主调用程序的外部函数,当使用connect函数时,需用lambda函数进行定义。

解决方案:将clicked信号所关联的槽函数sumodify()使用lambda定义:

在这里插入图片描述

问题5:主界面正常,跳转界面闪退

在这里插入图片描述
原因是没有把QMainWindow()放到主进程的self中。如果不加self,则没有app = QtWidgets.QApplication(sys.argv)支持,无法循环窗口。看到的闪退实则是开启一次窗口后退出。

解决方案:在定义的函数内窗口前加上“self.”,让其支持循环:

在这里插入图片描述

最终实现参数传递的窗口运行,适合多窗口之间跳转。

问题6:关闭第一个窗口页面

添加close函数:
在这里插入图片描述

相关内容

热门资讯

【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
ChatGPT 怎么用最新详细... ChatGPT 以其强大的信息整合和对话能力惊艳了全球,在自然语言处理上面表现出了惊人...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...