问题描述

因为我的项目设计商用,所以不便展示代码,抱歉。

我的窗体上有个ToolButton,然后软件运行过程中我想给他改文字,调用setText方法后,报错“RuntimeError: wrapped C/C++ object of type QToolButton has been deleted”

调试发现

  1. 不光是setText方法会报这个错,其他方法(hide、setIcon等等)都会报错
  2. 直接打印该toolbutton对象,是可以打印出来对象的。该按钮在界面上也正常显示,可以正常点击触发点击事件
  3. 该按钮实例化时候,可以设置文字可以操作各个方法,一旦添加到我那个控件所属的区域中后,代码操作该按钮则无法操作,报错。
  4. 我也写了self.btn了,也添加到类变量中了,也没用。

最终解决

loginBtn = self.findChild(QToolButton, 'loginBtn')
loginBtn.setText(text)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐