self.listOfSongs = QtWidgets.QListView(self.centralwidget)
self.listOfSongs.setGeometry(QtCore.QRect(80, 160, 191, 192))
self.listOfSongs.setObjectName("listOfSongs")
self.model = QtGui.QStandardItemModel()
self.listOfSongs.setModel(self.model)
self.updateList()
def updateList(self):
self.model.clear()
for x in self.table:
item = QtGui.QStandardItem(x)
self.model.appendRow(item)
我希望有人可以告诉我如何通过选择或单击来获取我选择的商品或商品的索引? 在python中使用lib pyQT5
答案 0 :(得分:0)
QStandardItemModel
是一个模型,因此您可以使用QAbstractItemModel
的所有方法。您可以遍历行并使用item()
方法获取与每个索引关联的 QStandarItem ,然后使用 QStandarItem 的text()
方法获取文本。
self.listOfSongs = QtWidgets.QListView(self.centralwidget)
self.listOfSongs.setGeometry(QtCore.QRect(80, 160, 191, 192))
self.listOfSongs.setObjectName("listOfSongs")
self.model = QtGui.QStandardItemModel()
self.listOfSongs.setModel(self.model)
for text in ["Item1", "Item2", "Item3", "Item4"]:
it = QtGui.QStandardItem(text)
self.model.appendRow(it)
self.listOfSongs.clicked[QtCore.QModelIndex].connect(self.on_clicked)
def on_clicked(self, index):
item = self.model.itemFromIndex(index)
print (item.text())
点击: