主要定义MainWindow类和Actions.py
Actions.py:
大胆修改,将定义函数的参数值改为a;使用函数处将参数加上:
运行,开始报错。
是类定义中 def sumodify(a,b)方法中self参数的问题。
self,表示创建的类实例本身,方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。在创建实例的时候,就不能传入空的参数了,必须传入与方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去。
因为sumodify()函数是该主调用程序的外部函数,当使用connect函数时,需用lambda函数进行定义。
解决方案:将clicked信号所关联的槽函数sumodify()使用lambda定义:
原因是没有把QMainWindow()放到主进程的self中。如果不加self,则没有app = QtWidgets.QApplication(sys.argv)支持,无法循环窗口。看到的闪退实则是开启一次窗口后退出。
解决方案:在定义的函数内窗口前加上“self.”,让其支持循环:
最终实现参数传递的窗口运行,适合多窗口之间跳转。