📅  最后修改于: 2023-12-03 15:18:49.006000             🧑  作者: Mango
在PyQt5中,QListWidget是列表控件中最常用的,因为它提供了一种简单的方式来在界面中显示一个列表。 但是,当用户从列表中选择一个或多个项目时,开发人员需要知道如何捕获这些选择行为并处理它们。这篇文章将会展示如何使用PyQt5 QListWidget来获取选择行为。
要获取单个选择行为,可以使用QListWidget的currentRow()方法,该方法将返回当前所选行的索引。
selected_row_index = list_widget.currentRow()
要查找当前所选行的文本,可以使用QListWidget的item()方法来检索该行的QListWidgetItem,然后使用该对象的text()方法来获取文本。 以下代码示例展示了如何获取当前选择的一行的文本:
selected_row_index = list_widget.currentRow()
item = list_widget.item(selected_row_index)
selected_text = item.text()
要获取多个选择行为,可以使用QListWidget的selectedItems()方法,该方法将返回选定行的QListWidgetItems的列表。 以下代码示例展示了如何获取所有选定行的文本:
selected_rows = list_widget.selectedItems()
selected_texts = [item.text() for item in selected_rows]
from PyQt5.QtWidgets import QApplication, QListWidget, QListWidgetItem, QMainWindow
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
list_widget = QListWidget(self)
for index in range(10):
item = QListWidgetItem(f"Item {index}")
list_widget.addItem(item)
# 获取单个选择行为
selected_row_index = list_widget.currentRow()
item = list_widget.item(selected_row_index)
selected_text = item.text()
print(selected_text)
# 获取多个选择行为
selected_rows = list_widget.selectedItems()
selected_texts = [item.text() for item in selected_rows]
print(selected_texts)
if __name__ == "__main__":
app = QApplication([])
window = MyWindow()
window.show()
app.exec_()
以上代码段是一个使用PyQt5 QListWidget的简单示例,展示了如何获取单个和多个选择行为。 通过这些示例,开发人员可以理解如何在他们的应用程序中使用QListWidget来捕获用户输入。