无法通过pyqt中的connect方法分配变量
Cant assign a variable through connect method in pyqt
当尝试将按钮按下连接到变量赋值时,PyCharm 拒绝接受语法,用红色语法下划线表示 Can't assign to function call
。
下面是代码:
self.button.clicked.connect(lambda : outside_object.username = self.username)
如何在不调用类似于 setter 方法(例如 self.button.clicked.connect(lambda: outside_object.assign_username(self.username))
的方法的情况下分配变量?
您可以使用 setattr
:
self.button.clicked.connect(lambda _ : setattr(outside_object, 'username', self.username))
当尝试将按钮按下连接到变量赋值时,PyCharm 拒绝接受语法,用红色语法下划线表示 Can't assign to function call
。
下面是代码:
self.button.clicked.connect(lambda : outside_object.username = self.username)
如何在不调用类似于 setter 方法(例如 self.button.clicked.connect(lambda: outside_object.assign_username(self.username))
的方法的情况下分配变量?
您可以使用 setattr
:
self.button.clicked.connect(lambda _ : setattr(outside_object, 'username', self.username))