在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)
運作界面如下:
