开发者

PyQt5页面跳转问题及解决方式

开发者 https://www.devze.com 2023-01-07 09:19 出处:网络 作者: Ⅻ
目录问题1:如何实现页面间跳转问题2:实现定义函数传参功能问题3:sumodify() phptakes 2 positional arguments but 3 were given问题4:argument 1 has unexpected type ‘NoneType’问题开发者_JAVA开发
目录
  • 问题1:如何实现页面间跳转
  • 问题2:实现定义函数传参功能
  • 问题3:sumodify() phptakes 2 positional arguments but 3 were given
  • 问题4:argument 1 has unexpected type ‘NoneType’
  • 问题开发者_JAVA开发5:主界面正常,跳转界面闪退
  • 问题6:关闭第一个窗口页面

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

主要定义MainWindow类和Actions.py

class MainWindow:

PyQt5页面跳转问题及解决方式

Actions.py:

PyQt5页面跳转问题及解决方式

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

PyQt5页面跳转问题及解决方式

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

PyQt5页面跳转问题及解决方式

运行,开始报错。

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

PyQt5页面跳转问题及解决方式

是类定义中 def sumodify(a,b)方法中self参数的问题。

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

解决方案:在def函数时,先传入self:

PyQt5页面跳转问题及解决方式

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

PyQt5页面跳转问题及解决方式

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

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

PyQt5页面跳转问题及解决方式

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

PyQt5页面跳转问题及解决方式

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

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

PyQt5页面跳转问题及解决方式

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

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

添加close函数:

PyQt5页面跳转问题及解决方式

 到此这篇关于PyQt5页面跳转问题及解决方式的文章就介绍到这了,更多相关PyQt5页面跳转内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号