Qt5.15 QListView官方帮助文档
继承关系:
常用API
实例1:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os,sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import pyqtSignal,Qt,QStringListModel
from PyQt5.QtGui import QStandardItemModel,QStandardItem
class QListviewDemo(QWidget):
def __init__(self,*args,**kwargs):
super(QListviewDemo, self).__init__(*args,**kwargs)
self.setWindowTitle("QListviewDemo")
self.resize(400,400)
self.layout = QVBoxLayout(self)
# view
self.qlistview = QListView()
self.layout.addWidget(self.qlistview)
#mode
self.mode = QStandardItemModel(5,1)
for i in range(self.mode.rowCount()):
item = QStandardItem("item%d"%i)
self.mode.setItem(i,0,item)
self.mode.insertRow(5, QStandardItem("item0"))
self.qlistview.setModel(self.mode )
#
hlayout = QHBoxLayout()
hlayout.setContentsMargins(0,0,0,0)
self.add_btn = QPushButton("增",clicked= self.on_add_btn_clicked )
self.del_btn = QPushButton("删",clicked= self.on_del_btn_clicked )
self.sort_btn = QPushButton("排序",clicked= self.on_sort_btn_clicked )
hlayout.addWidget(self.add_btn)
hlayout.addWidget(self.del_btn)
hlayout.addWidget(self.sort_btn)
self.layout.addLayout(hlayout)
def on_add_btn_clicked(self):
num = self.mode.rowCount()
self.mode.appendRow(QStandardItem("item%d"%(num+1)))
def on_del_btn_clicked(self):
num = self.mode.rowCount()
self.mode.removeRow(num-1)
def on_sort_btn_clicked(self):
self.mode.sort(0)
if __name__ == '__main__':
app = QApplication(sys.argv)
test = QListviewDemo()
test.show()
sys.exit(app.exec_())