PyQt5程序报错:TypeError: argument 1 has unexpected type 'NoneType'的解决办法

背景说明:

编写一个PyQt5程序,在主程序中调用两个子窗口UI程序,运行时,按钮关联槽函数处报错:

错误提示:
>>>Exception "unhandled TypeError"
argument 1 has unexpected type 'NoneType'
代码如下:
if __name__=="__main__":  
	app = QApplication(sys.argv)
	main_window = CallMainWin_Assembly() #主窗口类进行示例化
	child_window = CallChildWin() #子窗口类进行实例化
	
	#通过AddMalfun将两个窗体关联
	btn=main_window.ui.AddMalfun
	btn.clicked.connect(child_window.show())
	
	main_window.show()
	sys.exit(app.exec_())  
解决办法:

将clicked信号所关联的槽函数child_windows.show()使用lambda定义,代码如下:

	btn.clicked.connect(lambda:child_window.show())

问题解决,完美运行

个人理解:因为show()函数是该主调用程序的外部函数,所以需要使用lambda进行定义。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值