MCPcopy Index your code
hub / github.com/PyQt5/PyQt / _initItems

Method _initItems

QListView/SortItemByRole.py:109–136  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

107 self.fmodel.sort(0)
108
109 def _initItems(self):
110 # 初始化Items
111 self.dmodel = QStandardItemModel(self.listView)
112 self.fmodel = SortFilterProxyModel(self.listView)
113 self.fmodel.setSourceModel(self.dmodel)
114 self.listView.setModel(self.fmodel)
115
116 keys = list(NameDict.keys())
117 print(keys) # ['清', '元', '唐', '明', '宋']
118 classifies = [v[1] for v in NameDict.values()]
119 for i in range(5):
120 # 添加5个100, 用于模拟没有分类, 排序的时候就显示在最后面
121 classifies.append(100)
122 print(classifies) # [4, 2, 0, 3, 1, 100, 100, 100, 100, 100]
123
124 # 生成50个Item
125 for i in range(50):
126 # name = keys[i % 4] # 随机取一个朝代
127 item = QStandardItem()
128 # 设置ID角色
129 item.setData(i, IdRole)
130 # 设置分类角色
131 c = choice(classifies)
132 item.setData(c, ClassifyRole)
133 # 设置显示内容
134 item.setText('Name: {}\t\tId: {}\t\tClassify: {}'.format(
135 IndexDict.get(c, '其它'), i, c))
136 self.dmodel.appendRow(item)
137
138
139if __name__ == '__main__':

Callers 1

__init__Method · 0.95

Calls 5

keysMethod · 0.80
appendRowMethod · 0.80
setDataMethod · 0.45
setTextMethod · 0.45

Tested by

no test coverage detected