def dragPixmap(self, item, items): """ Show the drag pixmap for the given item. :type item: recordwidgetitem.RecordWidgetItem :rtype: QtGui.QPixmap """ rect = self.visualRect(self.indexFromItem(item)) pixmap = QtGui.QPixmap() pixmap = pixmap.grabWidget(self, rect) if len(items) > 1: cWidth = 35 cPadding = 5 cText = str(len(items)) cX = pixmap.rect().center().x() - float(cWidth / 2) cY = pixmap.rect().top() + cPadding cRect = QtCore.QRect(cX, cY, cWidth, cWidth) painter = QtGui.QPainter(pixmap) painter.setRenderHint(QtGui.QPainter.Antialiasing) painter.setPen(QtCore.Qt.NoPen) painter.setBrush(self.combinedWidget().backgroundSelectedColor()) painter.drawEllipse(cRect.center(), float(cWidth / 2), float(cWidth / 2)) font = QtGui.QFont('Serif', 12, QtGui.QFont.Light) painter.setFont(font) painter.setPen(self.combinedWidget().textSelectedColor()) painter.drawText(cRect, QtCore.Qt.AlignCenter, str(cText)) return pixmap
def data(self, index, role): """ :type index: QtCore.QModelIndex :type role: :rtype: QtWidgets.QVariant """ if role == QtCore.Qt.DecorationRole: if index.column() == 0: dirname = str(self.filePath(index)) folder = self.foldersWidget().folderFromPath(dirname) pixmap = QtGui.QIcon(folder.pixmap()) if pixmap: pixmap = pixmap.pixmap(self.foldersWidget().iconSize(), transformMode=QtCore.Qt.SmoothTransformation) return QtGui.QIcon(pixmap) else: return None if role == QtCore.Qt.FontRole: if index.column() == 0: dirname = str(self.filePath(index)) folder = self.foldersWidget().folderFromPath(dirname) if folder.exists(): if folder.isBold(): font = QtGui.QFont() font.setBold(True) return font if role == QtCore.Qt.DisplayRole: text = QtWidgets.QFileSystemModel.data(self, index, role) return text return QtWidgets.QFileSystemModel.data(self, index, role)