列表框架还有一个QListWidget,它是QListView的子类,与QListView不同的是,它已经建立了一个数据储存模型QListWidgetItem,直接调用addItem()函数就可以添加条目(Item),常用的事件类型有:
|
事件类型 |
描述 |
|
currentItemChanged |
列表中的条目发生改变时,触发此事件; |
|
itemClicked |
点击列表中的条目时,触发此事件。 |
QListWidget常用的方法如下表所示:
|
方法 |
描述 |
|
addItem() |
在列表中添加QListWidgetItem对象或字符串; |
|
addItems() |
一次添加列表中的多个条目; |
|
insertItem() |
在指定地索引处插入条目; |
|
clear() |
清空列表的内容; |
|
setCurrentItem() |
设置当前所选的条目; |
|
sortItems() |
按升序重新排列条目。 |
程序清单:listwidget.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget,
QHBoxLayout, QListWidget
# 继承QWidget
class ListWidget(QWidget):
sports = ["足球", "篮球", "排球"]
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
# 设置布局
layout = QHBoxLayout()
# 数据层次结构,10行5列
list_widget = QListWidget()
list_widget.addItems(self.sports)
layout.addWidget(list_widget)
# 单击事件
list_widget.itemClicked.connect(self.list_click)
self.setLayout(layout)
# 调整窗口大小
self.resize(900, 500)
# 窗口居中
self.center()
# 窗口标题
self.setWindowTitle("QListWidget应用")
# 显示窗口
self.show()
# 获取文件夹路径
def list_click(self, item):
sport = item.text()
print(sport)
# 实现居中
def center(self):
f = self.frameGeometry()
c = QDesktopWidget().availableGeometry().center()
f.moveCenter(c)
self.move(f.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
w = ListWidget()
sys.exit(app*ex.e**c_())
运行程序之后,弹出的窗口如下:

好了,QListWidget的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!
#python##程序员##好平台好讲师##桌面##热搜#