Python的“PyQt5 列表部件QListWidget”是一种在PyQt5 GUI编程中常用的窗口部件,可以用于按序排列一些行视图,并且可以对视图内容进行增删和查找。下面是对“PyQt5 列表部件QListWidget”的完整使用攻略,包含两条示例说明:
1. 基本用法
1.1 创建QListWidget对象
要使用QListWidget,首先需要导入PyQt5库并创建一个QListWidget对象:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidget
app = QApplication(sys.argv)
main_window = QMainWindow()
list_widget = QListWidget(main_window)
list_widget.move(50, 50)
list_widget.resize(200, 200)
main_window.show()
sys.exit(app.exec_())
1.2 添加列表项
可以通过addItem()方法在QListWidget中添加列表项:
item1 = "Apple"
item2 = "Banana"
item3 = "Orange"
list_widget.addItem(item1)
list_widget.addItem(item2)
list_widget.addItem(item3)
1.3 获取列表项
使用 currentItem() 方法获取当前选中的列表项(QListWidgetItem对象),使用 text() 方法获取其文本:
current_item = list_widget.currentItem()
print(current_item.text()) # 打印选中的文本
1.4 删除列表项
使用 takeItem() 方法删除指定列表项:
current_item = list_widget.currentItem()
list_widget.takeItem(list_widget.row(current_item))
2. 列表项操作示例
下面给出一个使用QListWidget实现添加、删除、查找等列表项操作的示例:
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QListWidget, QLineEdit, QPushButton
app = QApplication(sys.argv)
main_window = QMainWindow()
list_widget = QListWidget(main_window)
list_widget.move(50, 50)
list_widget.resize(200, 200)
add_line_edit = QLineEdit(main_window)
add_line_edit.move(50, 270)
add_line_edit.resize(100, 30)
add_button = QPushButton("+", main_window)
add_button.move(170, 270)
add_button.resize(30, 30)
remove_button = QPushButton("-", main_window)
remove_button.move(210, 50)
remove_button.resize(30, 30)
def add_item():
text = add_line_edit.text()
if text:
list_widget.addItem(text)
add_line_edit.clear()
def remove_item():
current_item = list_widget.currentItem()
if current_item:
list_widget.takeItem(list_widget.row(current_item))
add_button.clicked.connect(add_item)
remove_button.clicked.connect(remove_item)
main_window.show()
sys.exit(app.exec_())
该示例代码在主窗口中创建了一个QListWidget对象和两个QPushButton对象,点击“+”按钮可以在QListWidget中添加一个新的列表项,点击“-”按钮会删除当前选中的列表项。同时,还使用了QLineEdit来输入新的列表项文本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 列表部件QListWidget - Python技术站