标签:.sh port __init__ name row widget tla set qt5
列表视图QlistView要配合setModel模型一起使用
1 import sys 2 from PyQt5.QtWidgets import QApplication,QWidget,QVBoxLayout,QListView,QMessageBox 3 from PyQt5.QtCore import QStringListModel 4 5 class Demo(QWidget): 6 def __init__(self,parent=None): 7 super(Demo, self).__init__() 8 9 #设置初始大小与标题 10 self.resize(300,270) 11 self.setWindowTitle(‘QListView 例子‘) 12 13 layout=QVBoxLayout() 14 15 self.listview=QListView() #实例化列表视图 16 17 slm=QStringListModel() #实例化字符串列表模型 18 self.qList=[‘Item 1‘,‘Item 2‘,‘Item 3‘,‘Item 4‘] 19 20 slm.setStringList(self.qList) #给字符串列表模型对象添加数据-字符串列表 21 22 self.listview.setModel(slm) #给列表视图设置模型 23 24 self.listview.clicked.connect(self.clicked) #列表视图被单击时触发信号 25 26 layout.addWidget(self.listview) #【QListView好像只能在布局控件中才能显示??】 27 self.setLayout(layout) 28 29 30 31 def clicked(self,qModelIndex): 32 #提示信息弹窗,你选择的信息 33 QMessageBox.information(self,‘ListWidget‘,‘你选择了:‘+self.qList[qModelIndex.row()]) 34 if __name__ == ‘__main__‘: 35 app=QApplication(sys.argv) 36 win=Demo() 37 win.show() 38 sys.exit(app.exec_())
标签:.sh port __init__ name row widget tla set qt5
原文地址:https://www.cnblogs.com/liming19680104/p/10384730.html