问题描述
因为我的项目设计商用,所以不便展示代码,抱歉。
我的窗体上有个ToolButton,然后软件运行过程中我想给他改文字,调用setText方法后,报错“RuntimeError: wrapped C/C++ object of type QToolButton has been deleted”
调试发现
- 不光是setText方法会报这个错,其他方法(hide、setIcon等等)都会报错
- 直接打印该toolbutton对象,是可以打印出来对象的。该按钮在界面上也正常显示,可以正常点击触发点击事件
- 该按钮实例化时候,可以设置文字可以操作各个方法,一旦添加到我那个控件所属的区域中后,代码操作该按钮则无法操作,报错。
- 我也写了self.btn了,也添加到类变量中了,也没用。
最终解决
loginBtn = self.findChild(QToolButton, 'loginBtn')
loginBtn.setText(text)