gpt4 book ai didi

python - 获取 QListWidget 中选定的行

转载 作者:行者123 更新时间:2023-12-01 21:50:42 24 4
gpt4 key购买 nike

我有一个Qlistwidget,我可以在其中选择多个项目。我可以获得包含列表小部件中所有选定项目的列表,但找不到获取相应行列表的方法。为了获取列表小部件中所选项目的列表,我使用了以下代码:

print [str(x.text()) for x in self.listWidget.selectedItems()]

要检索我正在寻找的行,例如:

a = self.listWidget.selectedIndexes()
print a

但这不起作用。我还尝试了一些代码,其结果是这样的,这不是很有用:

<PyQt4.QtGui.QListWidgetItem object at 0x0000000013048B88>
<PyQt4.QtCore.QModelIndex object at 0x0000000014FBA7B8>

最佳答案

selectedIndexes 和 QModelIndex 应该就是您所需要的。

liwidg = QtGui.QListWidget()
liwidg.show()
liwidg.setSelectionMode( QtGui.QAbstractItemView.SelectionMode.ExtendedSelection)
liwidg.addItems(["a", "b", "c", "d"])
liwidg.selectedIndexes()

当选择“a”、“b”和“c”时,liwidg.selectedIndexes() 给出:

[<PySide.QtCore.QModelIndex(0,0,0xb266478,QListModel(0xb0e6400) )   at 0x0C86EB20>,
<PySide.QtCore.QModelIndex(1,0,0xb266518,QListModel(0xb0e6400) ) at 0x0C861D78>,
<PySide.QtCore.QModelIndex(2,0,0xb2843c8,QListModel(0xb0e6400) ) at 0x0C869AF8>]

您可以使用 QModelIndex 来获取您需要的任何信息。

sel0 = liwidg.selectedIndexes()[0]
# <PySide.QtCore.QModelIndex(0,0,0xb266478,QListModel(0xb0e6400) ) at 0x0C85B530>

print(sel0.data())
print(sel0.row())
print(sel0.column())

打印:

'a'
0
0

这对我有用。

关于python - 获取 QListWidget 中选定的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com