示例#1
0
 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
示例#2
0
 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)