List View
1. 创建QStringListModel对像
# QT已经生成QListView类对象, 以下是基于Qt Designer编程实现.
self.stringlistmodel = QStringListModel() # 创建stringlistmodel对象
self.ui.listView.setModel(self.stringlistmodel) # 把view和model关联
self.stringlistmodel.dataChanged.connect(self.save) # 存储所有行的数据
2. 插入行
def insertRow(self):
"""
插入行, 输入的内容为空则不插入
:return:
"""
row = self.stringlistmodel.rowCount()
kw = self.ui.lineEdit.text()
if kw:
self.stringlistmodel.insertRow(row)
self.stringlistmodel.setData(self.stringlistmodel.index(row), kw)
else:
print('null')
3. 删除行
def deletRow(self):
"""删除 stringlistmodel 中选中的项"""
index = self.ui.listView.currentIndex()
print(index.row())
self.stringlistmodel.removeRow(index.row())
4. 保存数据
def saveRows(self):
self.string_list = self.stringlistmodel.stringList()
print(self.string_list)
5. 更改行内容
5.1 增加的行内容默认可以编辑, 故没有实现, 当然你也可以额外实现.