def __init__(self, attrs, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QVBoxLayout(self) layout.setContentsMargins(4, 0, 4, 4) self.attrs = attrs self.__jobs = {} self.__tree = tree = QtGui.QTreeWidget(self) tree.setHeaderLabels(self.HEADER) tree.setColumnCount(len(self.HEADER)) tree.setUniformRowHeights(True) tree.viewport().setFocusPolicy(QtCore.Qt.NoFocus) tree.header().setStretchLastSection(True) tree.setSelectionMode(tree.ExtendedSelection) tree.setAlternatingRowColors(True) for i, v in enumerate(self.WIDTH): tree.setColumnWidth(i, v) layout.addWidget(tree) # connections tree.itemClicked.connect(lambda item: copyToClipboard(item.text(0))) tree.itemDoubleClicked.connect(self.__itemDoubleClicked) tree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) tree.customContextMenuRequested.connect(self.__showContextMenu)
def __init__(self, attrs, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QVBoxLayout(self) layout.setContentsMargins(4, 0, 4, 4) self.attrs = attrs self.__jobs = {} self.__tree = tree = QtGui.QTreeWidget(self) tree.setHeaderLabels(self.Header) tree.setColumnCount(len(self.Header)) tree.setUniformRowHeights(True) tree.viewport().setFocusPolicy(QtCore.Qt.NoFocus) tree.header().setStretchLastSection(True) for i, v in enumerate(self.Width): tree.setColumnWidth(i, v) def treeMousePress(event): item = self.__tree.itemAt(event.pos()) if not item: self.__tree.clearSelection() QtGui.QTreeWidget.mousePressEvent(self.__tree, event) tree.mousePressEvent = treeMousePress layout.addWidget(tree) # connections tree.itemDoubleClicked.connect(self.__itemDoubleClicked) tree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) tree.customContextMenuRequested.connect(self.__showContextMenu)