PyQt学习随笔:QtDesigner ListView控件列表项的初始化

在QtDesigner中设计的界面中添加ListView控件后,是没办法添加需要在ListView控件中显示的列表项。由于ListView控件只是一个展示列表项的视图控件,实现了界面与数据的分离,其要展示的数据是单独存储在对应类型如QStringListModel的列表中,因此对控件数据的初始化需要先为控件绑定对应的数据对象。下面是一个ListView控件初始化的代码:

self.itemmodel=QStringListModel(self)
self.itemmodel.setStringList([“item1”,“item2”])
self.listView.setModel(self.itemmodel)

第一行代码是新建一个数据存储,第二行代码是为这个数据存储设定初始值,第三行代码是将listView控件与该存储绑定,上述代码需要放到窗口对象构造方法内。
以构造一个窗口(w_ListView),在窗口中初始化一个列表窗(listView)的列表项为“item1、item2”为例:
如下:

class w_ListView(QtWidgets.QWidget,Ui_w_ListView ):
    def __init__(self):
        super(w_ListView, self).__init__()
        self.setupUi(self)
        self.itemmodel=QStringListModel(self)
        self.itemmodel.setStringList(["item1","item2"])
        self.listView.setModel(self.itemmodel)

运行界面如下:
在这里插入图片描述

老猿Python,跟老猿学Python!

posted @ 2019-09-28 17:51  老猿学Python  阅读(585)  评论(0编辑  收藏  举报