如何在PyQt5中获取Listwidget的点击项的文本



我正在寻找一种方法来获取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")

应该做到这一点。

相关内容

  • 没有找到相关文章

最新更新