pyqt5 得到list的item的当前索引后删除item
时间: 2024-05-16 20:13:06 浏览: 8
要删除 QListWidget 中当前选中的 item,可以使用以下代码:
```python
index = your_list_widget.currentRow()
if index >= 0:
item = your_list_widget.takeItem(index)
del item
```
其中,`currentRow()` 方法可以得到当前选中的 item 的索引,如果没有选中任何 item,则返回 -1。然后使用 `takeItem()` 方法获取该 item,并从 QListWidget 中删除。最后使用 `del` 关键字删除该 item 对象,释放内存空间。
相关问题
pyqt5 获得当前list item索引的函数
在 PyQt5 中,可以使用 QListWidget.currentRow() 函数来获取当前选中的 item 的索引。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QListWidget, QVBoxLayout, QLabel
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.list_widget = QListWidget(self)
self.list_widget.addItems(['item1', 'item2', 'item3'])
self.list_widget.currentItemChanged.connect(self.on_current_item_changed)
self.label = QLabel(self)
self.label.setText('Current index: ' + str(self.list_widget.currentRow()))
vbox = QVBoxLayout()
vbox.addWidget(self.list_widget)
vbox.addWidget(self.label)
self.setLayout(vbox)
self.setGeometry(100, 100, 300, 200)
self.show()
def on_current_item_changed(self, current, previous):
self.label.setText('Current index: ' + str(self.list_widget.currentRow()))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在上述代码中,我们创建了一个 QListWidget,其中添加了三个 item。我们连接了 currentItemChanged 信号,该信号在当前选中的 item 发生变化时发出。我们定义了一个 on_current_item_changed 函数来更新 label 中的文本,以显示当前选中的 item 的索引。
pyqt5 list列表item索引访问
要访问 PyQT5 中列表控件(QListWidget)中的项,可以使用 `item()` 方法并传递项的索引。以下是一个简单的示例代码,以便更好地理解:
```python
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QWidget, QVBoxLayout
app = QApplication([])
window = QWidget()
# 创建一个列表控件并添加一些项
list_widget = QListWidget()
list_widget.addItem(QListWidgetItem("Item 1"))
list_widget.addItem(QListWidgetItem("Item 2"))
list_widget.addItem(QListWidgetItem("Item 3"))
# 获取第二个项的索引并访问它
item_index = 1
item = list_widget.item(item_index)
print(item.text())
# 将列表控件添加到窗口并显示窗口
layout = QVBoxLayout()
layout.addWidget(list_widget)
window.setLayout(layout)
window.show()
app.exec_()
```
在这个示例中,我们创建了一个列表控件并添加了三个项。然后,我们获取第二个项的索引并使用 `item()` 方法来访问它。最后,我们将列表控件添加到窗口并显示窗口。如果我们运行这个示例,它将输出 `Item 2`,因为这是第二个项的文本。