如何解决AttributeError:'bool'没有属性'body'-PyQt5
from B import B1
class A1():
def button_handle(self):
self.btnbtn.clicked.connect(B1.btnfunction)
和btnfunction看起来像这样:
class B1():
def __init__(self,*args,**kwargs):
from A import A1
def btnfunction(self):
self.body.setVisible(False)
然后在Attribute error: 'bool' object has no attribute 'body'
行出现错误self.body.setVisible(False)
,我想念什么?
解决方法
您正在尝试连接到B1
类,因此btnfunction
的行为就像一个匿名函数:第一个参数(self
)实际上会作为信号参数。
clicked()
信号有一个checked
bool参数;单击按钮时,它会发出带有该参数的信号(对于不可检查的按钮通常为false),然后尝试调用连接中声明的内容。
由于您没有使用btnfunction
作为实例方法,因此self
将成为信号的checked
自变量,因此会出现错误。
您必须创建B1
的实例并连接到该实例的btnfunction
的:
from B import B1
class A1():
def __init__(self):
# ...
self.b1 = B1()
def button_handle(self):
self.btnbtn.clicked.connect(self.b1.btnfunction)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。