1、创建控件,设置对象名称、宽高。
self.listView = QtWidgets.QListView(self.tab_2)
self.listView.setGeometry(QtCore.QRect(990, 110, 301, 531))
self.listView.setObjectName("listView")
2、加载列表项
result=session.query(ReviewModel).filter_by(project_id=self.review_project_id).order_by(ReviewModel.sort_id,-ReviewModel.id).all()
self.list_model=QtCore.QStringListModel()
self.listView.setModel(self.list_model)
review_names=[]
for row in result:
if row.name in review_names:
continue
else:
review_names.append(row.name)
for name in review_names:
row_num=self.list_model.rowCount()
self.list_model.insertRow(row_num)
self.list_model.setData(self.list_model.index(row_num),name)
3、设置某一个列表项为选中状态
# 设置第一个汇报为选中状态
index_model=self.list_model.index(0,0)
self.listView.setCurrentIndex(index_model)
4、给点击事件绑定处理函数
self.listView.clicked.connect(self.switch_review)
def switch_review(self):
pass
5、获取当前选中的列表项
# 获取当前选中reviewd索引
indexes=self.listView.selectedIndexes()
if not indexes:
return
index=indexes[0]
# 获取当前选中的名称,并将内容进行展示
self.review_name=self.list_model.data(index,0)