def mouseMoveEvent(self, e): if e.buttons() == QtCore.Qt.LeftButton: mimeData = QtCore.QMimeData() mimeData.setText('%d,%d' % (e.x(), e.y())) # show the ghost image while dragging pixmap = QtWidgets.QPixmap.grabWidget(self) painter = QtWidgets.QPainter(pixmap) painter.fillRect(pixmap.rect(), QtWidgets.QColor(0, 0, 0, 127)) painter.end() drag = QtWidgets.QDrag(self) drag.setMimeData(mimeData) drag.setPixmap(pixmap) drag.setHotSpot(e.pos()) drag.exec_(QtCore.Qt.MoveAction)
def paint(self, painter, option, index): if index.column() > 2: super(SpectralModelsTableDelegate, self).paint(painter, option, index) return None painter.save() # set background color painter.setPen(QtGui.QPen(QtCore.Qt.NoPen)) if option.state & QtGui.QStyle.State_Selected: painter.setBrush( QtGui.QBrush(self.parent().palette().highlight().color())) else: # Does this row have a conflict? conflicts = self.session._spectral_model_conflicts conflict_indices = np.hstack([sum([], conflicts)]) row = index.row() if row in conflict_indices: for i, conflict in enumerate(conflicts): if row in conflict: color = _COLORS[i % len(_COLORS)] break painter.setBrush(QtGui.QBrush(QtGui.QColor(color))) else: painter.setBrush(QtGui.QBrush(QtCore.Qt.white)) painter.drawRect(option.rect) # set text color painter.setPen(QtGui.QPen(QtCore.Qt.black)) painter.drawText(option.rect, QtCore.Qt.AlignLeft | QtCore.Qt.AlignCenter, index.data()) painter.restore()
def set_background_role(obj): palette = QtWidgets.QPalette(obj.palette()) palette.setColor(obj.backgroundRole(), QtWidgets.QColor(colors["background"])) obj.setPalette(palette)