我们从Python开源项目中,提取了以下12个代码示例,用于说明如何使用PySide.QtGui.QStandardItemModel()。
def __init__(self, parent=None, win=None, xrefs=None, headers=None): super(XrefValueWindow, self).__init__(parent) self.parent = parent self.mainwin = win self.xrefs = xrefs self.headers = headers self.reverse_strings = {} self.proxyModel = QtGui.QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) self.model = QtGui.QStandardItemModel(len(self.xrefs), len(self.headers), self) column = 0 for header in headers: self.model.setHeaderData(column, QtCore.Qt.Horizontal, header) column += 1 row = 0 for ref in xrefs: for column in range(len(self.headers)): self.model.setData(self.model.index(row, column, QtCore.QModelIndex()), "%s" % ref[column]) row += 1 self.proxyModel.setSourceModel(self.model) self.setRootIsDecorated(False) self.setAlternatingRowColors(True) self.setModel(self.proxyModel) self.setSortingEnabled(True) self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.doubleClicked.connect(self.slotDoubleClicked)
def __init__(self, parent=None, win=None, session=None): super(StringsValueWindow, self).__init__(parent) self.mainwin = win self.session = session self.title = "Strings" self.reverse_strings = {} self.proxyModel = QtGui.QSortFilterProxyModel() self.proxyModel.setDynamicSortFilter(True) self.model = QtGui.QStandardItemModel(self.session.get_nb_strings(), 4, self) self.model.setHeaderData(0, QtCore.Qt.Horizontal, "String") self.model.setHeaderData(1, QtCore.Qt.Horizontal, "Usage") self.model.setHeaderData(2, QtCore.Qt.Horizontal, "Filename") self.model.setHeaderData(3, QtCore.Qt.Horizontal, "Digest") row = 0 for digest, filename, strings_analysis in self.session.get_strings(): for string_value in strings_analysis: self.model.setData(self.model.index(row, 0, QtCore.QModelIndex()), repr(string_value)) self.model.setData(self.model.index(row, 1, QtCore.QModelIndex()), len(strings_analysis[string_value].get_xref_from())) self.model.setData(self.model.index(row, 2, QtCore.QModelIndex()), filename) self.model.setData(self.model.index(row, 3, QtCore.QModelIndex()), digest) self.reverse_strings[repr(string_value) + digest] = strings_analysis[string_value] row += 1 self.proxyModel.setSourceModel(self.model) self.setRootIsDecorated(False) self.setAlternatingRowColors(True) self.setModel(self.proxyModel) self.setSortingEnabled(True) self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.doubleClicked.connect(self.slotDoubleClicked)
def createWidgets(self): self.item_list_model = QtGui.QStandardItemModel(self) self.item_list_model.setSortRole(QtCore.Qt.DisplayRole) self.item_list_model.dataChanged.connect(self.handleDataChange) self.setModel(self.item_list_model) self.item_selection_model = self.selectionModel() self.setMinimumHeight(60) self.setSizePolicy(QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred))
def array_to_model(self, array): model = QtGui.QStandardItemModel() parentItem = model.invisibleRootItem() for ntuple in array: tag = ntuple[0] value = ntuple[1] if isinstance(value, dict): self.recurse_dic_to_item(value, parentItem) else: item = QtGui.QStandardItem(tag + str(value)) parentItem.appendRow(item) return parentItem
def dic_to_model(self, dic): model = QtGui.QStandardItemModel() parentItem = model.invisibleRootItem() self.recurse_dic_to_item(dic, parentItem) return model
def __init__(self, parent=None, win=None, xrefs=None): super(XrefListView, self).__init__(parent) self.setMinimumSize(600, 400) #TODO: adjust window depending on text displayed self.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers) self.mainwin = win self.parent = parent self.doubleClicked.connect(self.doubleClickedHandler) model = QtGui.QStandardItemModel(self) for x in xrefs: item = QtGui.QStandardItem(x) model.appendRow(item) self.setModel(model)
def __init__(self): super(CheckableComboBox, self).__init__() self.view().pressed.connect(self.handleItemPressed) self.setModel(QtGui.QStandardItemModel(self))