PyQt5之QListView的使用
程序员文章站
2022-03-31 19:14:27
...
本例借鉴并修改自博客https://blog.csdn.net/jia666666/article/details/81624550
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QListView
from PyQt5.QtCore import QStringListModel
class ListViewDemo(QWidget):
def __init__(self, parent=None):
super(ListViewDemo, self).__init__(parent)
self.setUI()
def setUI(self):
self.resize(300, 200)
self.move(300,300)
self.setWindowTitle('QListView 例子')
layout = QVBoxLayout()
listview = QListView()
slm = QStringListModel()
self.list = ['Item1', 'Item2', 'Item3', 'Item4']
slm.setStringList(self.list)
listview.setModel(slm)
listview.clicked.connect(self.clickedFunc)#单击触发槽函数
#listview.doubleClicked.connect(self.clickedFunc)#双击触发槽函数
#设置窗口布局,加载控件
layout.addWidget(listview)
self.setLayout(layout)
def clickedFunc(self,qModelIndex):
if self.list[qModelIndex.row()] == self.list[0]:
print('selected item1')
elif self.list[qModelIndex.row()] == self.list[1]:
print('selected item2')
elif self.list[qModelIndex.row()] == self.list[2]:
print('selected item3')
elif self.list[qModelIndex.row()] == self.list[3]:
print('selected item4')
if __name__ == '__main__':
app=QApplication(sys.argv)
win=ListViewDemo()
win.show()
sys.exit(app.exec_())