我正在寻找一种方法来获取listWidget上单击元素的文本/名称。
这是我的方法看起来像:
# call lamp clicked event
self.listWidget_lamps.itemClicked.connect(self.lamp_clicked)
# call group clicked event
def lamp_clicked(self):
self.lamp_on = True
self.group_on = False
lamp = Lamp(self.item.text())
print("lamp" + self.item.text() + "got clicked")
但它总是崩溃,并给我这个错误:
lamp = Lamp(self.item.text())
AttributeError: 'MainWindow' object has no attribute 'item'
有人能告诉我我做错了什么吗?
插槽lamp_clicked
的签名错误。看看QListWidget::itemClicked,注意信号有一个参数,但你的插槽没有参数。
def lamp_clicked(self, clickedItem):
self.lamp_on = True
self.group_on = False
lamp = Lamp(clickedItem.text())
print("lamp" + clickedItem.text() + "got clicked")
应该做到这一点。