def dragObject(self): if not self.selectedIndexes(): return item = self.selectedItems()[0] role = item.data(0, QtCore.Qt.UserRole) if role == 'Folder': return text = 'KrakenComponent:' + role mimeData = QtCore.QMimeData() mimeData.setText(text) drag = QtGui.QDrag(self) drag.setMimeData(mimeData) drag.setHotSpot(QtCore.QPoint(90, 23)) ghostComponent = QtGui.QPixmap(180, 46) ghostComponent.fill(QtGui.QColor(67, 143, 153, 80)) drag.setPixmap(ghostComponent) drag.start(QtCore.Qt.IgnoreAction)
def __init__(self, parent, color): super(KColorWidget, self).__init__(parent) self.installEventFilter(self) self._color = QtGui.QColor(color) self.pixmap = QtGui.QPixmap(12, 12) self.pixmap.fill(self._color) self.setProperty('colorLabel', True) self.setFixedSize(24, 24) self.setScaledContents(True) self.setPixmap(self.pixmap) self.createConnections()
def __init__(self, app, *arg, **kwargs): splashPixmap = QtGui.QPixmap(':/images/KrakenUI_Splash.png') super(KrakenSplash, self).__init__(splashPixmap) for handler in logger.handlers: if type(handler).__name__ == 'WidgetHandler': handler.addWidget(self) self._msg = [] self._app = app self.setMask(splashPixmap.mask()) self.showMessage('Releasing the Kraken!', self.messageFlag, QtCore.Qt.white) self._app.processEvents()
def createLayout(self): self.menuLayout = QtWidgets.QHBoxLayout() self.menuLayout.setContentsMargins(0, 0, 0, 0) self.menuLayout.setSpacing(0) # Menu self.menuBar = QtWidgets.QMenuBar() # File Menu self.fileMenu = self.menuBar.addMenu('&File') self.newAction = self.fileMenu.addAction('&New') self.newAction.setShortcut('Ctrl+N') self.newAction.setObjectName("newAction") self.openAction = self.fileMenu.addAction('&Open...') self.openAction.setShortcut('Ctrl+O') self.openAction.setObjectName("openAction") self.saveAction = self.fileMenu.addAction('&Save') self.saveAction.setShortcut('Ctrl+S') self.saveAction.setObjectName("saveAction") self.saveAsAction = self.fileMenu.addAction('&Save As...') self.saveAsAction.setShortcut('Ctrl+Shift+S') self.saveAsAction.setObjectName("saveAsAction") self.fileMenu.addSeparator() self.recentFilesMenu = QtWidgets.QMenu(title='&Recent Files', parent=self.fileMenu) self.fileMenu.addMenu(self.recentFilesMenu) self.fileMenu.addSeparator() self.closeAction = self.fileMenu.addAction('&Close') self.closeAction.setShortcut('Ctrl+W') self.closeAction.setObjectName("closeAction") # Edit Menu self.editMenu = self.menuBar.addMenu('&Edit') self.copyAction = self.editMenu.addAction('&Copy') self.copyAction.setShortcut('Ctrl+C') self.pasteAction = self.editMenu.addAction('&Paste') self.pasteAction.setShortcut('Ctrl+V') self.pasteConnectedAction = self.editMenu.addAction('Paste Connected') self.pasteConnectedAction.setShortcut( QtGui.QKeySequence(QtCore.Qt.CTRL + QtCore.Qt.SHIFT + QtCore.Qt.Key_V)) self.editMenu.addSeparator() self.pasteMirroredAction = self.editMenu.addAction('Paste Mirrored') self.pasteMirroredConnectedAction = self.editMenu.addAction( 'Paste Mirrored Connected') self.editMenu.addSeparator() self.editAddBackdropAction = self.editMenu.addAction('Add &Backdrop') self.editMenu.addSeparator() self.editRigNameAction = self.editMenu.addAction('&Rig Name') self.editRigNameAction.setObjectName("editRigNameAction") self.editMenu.addSeparator() self.editPreferencesAction = self.editMenu.addAction('&Preferences...') self.editPreferencesAction.setObjectName("editPreferencesAction") # Build Menu self.buildMenu = self.menuBar.addMenu('&Build') self.buildGuideAction = self.buildMenu.addAction('Build &Guide') self.buildGuideAction.setShortcut('Ctrl+G') self.buildGuideAction.setObjectName("buildGuideAction") self.buildRigAction = self.buildMenu.addAction('Build &Rig') self.buildRigAction.setShortcut('Ctrl+B') self.buildRigAction.setObjectName("buildRigAction") # Tools Menu self.toolsMenu = self.menuBar.addMenu('&Tools') self.reloadComponentsAction = self.toolsMenu.addAction( 'Reload Component Modules') self.reloadComponentsAction.setShortcut('Ctrl+Shift+R') # View Menu self.viewMenu = self.menuBar.addMenu('&View') self.compLibAction = self.viewMenu.addAction('Component &Library') self.compLibAction.setShortcut('Ctrl+Tab') self.snapToGridAction = self.viewMenu.addAction('&Snap To Grid') self.snapToGridAction.setCheckable(True) # Help Menu self.helpMenu = self.menuBar.addMenu('&Help') self.krakenWebSiteAction = self.helpMenu.addAction('Kraken Web Site') self.krakenDocumentationAction = self.helpMenu.addAction( 'Kraken Documentation') self.fabricForumsAction = self.helpMenu.addAction('Fabric Forums') self.helpMenu.addSeparator() self.aboutKrakenAction = self.helpMenu.addAction('About Kraken') # Logo logoWidget = QtWidgets.QLabel() logoWidget.setObjectName('logoWidget') logoWidget.setMinimumHeight(20) logoWidget.setMinimumWidth(110) logoPixmap = QtGui.QPixmap(':/images/KrakenUI_Logo.png') logoWidget.setPixmap(logoPixmap) # Config Widget self.configsParent = QtWidgets.QFrame(self) self.configsParent.setObjectName('configParent') self.configsParent.setFrameStyle(QtWidgets.QFrame.NoFrame) self.configsParent.setMinimumWidth(160) self.configsLayout = QtWidgets.QVBoxLayout() self.configsLayout.setContentsMargins(0, 0, 0, 0) self.configsLayout.setSpacing(0) self.configsWidget = QtWidgets.QComboBox() self.configsWidget.setAutoFillBackground(True) self.configsWidget.setObjectName('configWidget') self.configsWidget.setMinimumWidth(160) self.configsWidget.addItem('Default Config', userData='Default Config') self.configsLayout.addWidget(self.configsWidget) self.configsParent.setLayout(self.configsLayout) configs = KrakenSystem.getInstance().getConfigClassNames() for config in configs: self.configsWidget.addItem(config.split('.')[-1], userData=config) self.rigNameLabel = RigNameLabel('Rig Name:') # Add Widgets self.menuLayout.addWidget(logoWidget, 0) self.menuLayout.addWidget(self.menuBar, 3) self.menuLayout.addWidget(self.configsParent, 0) self.menuLayout.addWidget(self.rigNameLabel, 0) self.setLayout(self.menuLayout)