PyQt5中如何获取Listwidget点击项的文本?
How to get the text of the clicked item of Listwidget in PyQt5?
我正在寻找一种方法来获取 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")
应该可以解决问题。
我正在寻找一种方法来获取 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")
应该可以解决问题。