def setupUi(self, StringWidget): # self.widget = StringWidget self.labels = [] self.controls = [] font = QtGui.QFont() labelFontMetric = QtGui.QFontMetricsF(font) label_wi = 0 char_wi = labelFontMetric.width('x') array_size = self.widget.param.arraySize if array_size > 0: label_wi = char_wi * (len(str(array_size - 1)) + 2) # [0] for i in range(self.widget.param.arraySize): self.labels.append(QtModule.QLabel(StringWidget)) self.labels[i].setMinimumSize(QtCore.QSize(label_wi, UI.HEIGHT)) self.labels[i].setMaximumSize(QtCore.QSize(label_wi, UI.HEIGHT)) self.labels[i].setAlignment(QtCore.Qt.AlignRight) self.labels[i].setText('[' + str(i) + ']') self.controls.append(QtModule.QLineEdit(StringWidget)) self.controls[i].setMinimumSize( QtCore.QSize(UI.LABEL_WIDTH, UI.HEIGHT)) self.controls[i].setMaximumSize(QtCore.QSize(UI.MAX, UI.HEIGHT)) hl = QtModule.QHBoxLayout() hl.setStretch(0, 0) hl.setStretch(1, 1) hl.addWidget(self.labels[i]) hl.addWidget(self.controls[i]) self.widget.param_vl.addLayout(hl) self.connectSignals(StringWidget) QtCore.QMetaObject.connectSlotsByName(StringWidget)
def setupUi(self, StringWidget): # hl = QtModule.QHBoxLayout() self.widget = StringWidget self.selector = QtModule.QComboBox(StringWidget) self.selector.setEditable(False) self.selector.setMinimumSize( QtCore.QSize(UI.COMBO_WIDTH, UI.COMBO_HEIGHT)) self.selector.setMaximumSize(QtCore.QSize(UI.MAX, UI.COMBO_HEIGHT)) rangeList = self.widget.param.getRangeValues() for (label, value) in rangeList: #print "label = %s value = %s" % ( label, value ) self.selector.addItem(label, value) spacer = QtModule.QSpacerItem(UI.HEIGHT, UI.HEIGHT, QtModule.QSizePolicy.Expanding, QtModule.QSizePolicy.Minimum) hl.addWidget(self.selector) hl.addItem(spacer) self.widget.param_vl.addLayout(hl) QtCore.QMetaObject.connectSlotsByName(StringWidget) self.connectSignals(StringWidget)
def setupUi(self, StringWidget): # hl = QtModule.QHBoxLayout() hl.setStretch(1, 1) self.widget = StringWidget self.stringEdit = QtModule.QLineEdit(StringWidget) self.stringEdit.setMinimumSize(QtCore.QSize( UI.LABEL_WIDTH, UI.HEIGHT)) # UI.EDIT_WIDTH self.stringEdit.setMaximumSize(QtCore.QSize(UI.MAX, UI.HEIGHT)) self.btnBrowseDir = QtModule.QToolButton(StringWidget) self.btnBrowseDir.setText('...') self.btnBrowseDir.setMinimumSize( QtCore.QSize(UI.BROWSE_WIDTH, UI.HEIGHT)) self.btnBrowseDir.setMaximumSize( QtCore.QSize(UI.BROWSE_WIDTH, UI.HEIGHT)) hl.addWidget(self.stringEdit) hl.addWidget(self.btnBrowseDir) self.widget.param_vl.addLayout(hl) QtCore.QMetaObject.connectSlotsByName(StringWidget) self.connectSignals(StringWidget)
def updateNodeParams(self, node): # self.ui.list_inputs.clear() self.ui.list_outputs.clear() linkedFont = QtGui.QFont() linkedFont.setItalic(True) linkedBrush = QtGui.QBrush() linkedBrush.setColor(QtCore.Qt.blue) # setup input params list for param in node.inputParams: item = QtModule.QListWidgetItem(param.label) item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(param)) item.setData(QtCore.Qt.UserRole + 2, QtCore.QVariant(node)) if node.isInputParamLinked(param): item.setFont(linkedFont) item.setForeground(linkedBrush) self.ui.list_inputs.addItem(item) # setup output params list for param in node.outputParams: item = QtModule.QListWidgetItem(param.label) item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(param)) item.setData(QtCore.Qt.UserRole + 2, QtCore.QVariant(node)) if node.isOutputParamLinked(param): item.setFont(linkedFont) item.setForeground(linkedBrush) self.ui.list_outputs.addItem(item)
def mousePressEvent ( self, event ) : #if DEBUG_MODE : print ">> mousePressEvent" #if DEBUG_MODE : print self self.hilite( True ) if event.modifiers () == QtCore.Qt.ControlModifier : # start new ConnectorNode self.state = 'traceNodeConnector' if usePyQt4 : self.getScene ().emit ( QtCore.SIGNAL ( 'startNodeConnector' ), self, event.scenePos () ) else : self.getScene ().startNodeConnector.emit ( self, event.scenePos () ) else : if not self.isNode () : # start new link self.state = 'traceNodeLink' if usePyQt4 : self.getScene ().emit ( QtCore.SIGNAL ( 'startNodeLink' ), self ) else : #if DEBUG_MODE : print '* startNodeLink.emit ' #if DEBUG_MODE : print self self.getScene ().startNodeLink.emit ( self ) if self.state != 'idle' : self.grabMouse () event.accept () else : QtModule.QGraphicsItem.mousePressEvent ( self, event )
def onEditNodeStrAttrLabel(self): # oldLabel = self.editNode.label newLabel = str(self.ui.label_lineEdit.text()).strip() if newLabel == '': if usePyQt4: self.disconnect(self.ui.label_lineEdit, QtCore.SIGNAL('editingFinished()'), self.onEditNodeStrAttrLabel) else: self.ui.label_lineEdit.editingFinished.disconnect( self.onEditNodeStrAttrLabel) newLabel = oldLabel self.ui.label_lineEdit.setText(newLabel) if usePyQt4: self.connect(self.ui.label_lineEdit, QtCore.SIGNAL('editingFinished()'), self.onEditNodeStrAttrLabel) else: self.ui.label_lineEdit.editingFinished.connect( self.onEditNodeStrAttrLabel) if newLabel != oldLabel: self.editNode.label = newLabel if usePyQt4: self.emit(QtCore.SIGNAL('changeNodeLabel'), oldLabel, newLabel) else: self.changeNodeLabel.emit(oldLabel, newLabel)
def buildRecentProjectsMenu(self): # print '>> buildRecentProjectsMenu ...' if usePyQt4: #self.recentProjects = app_settings.value ( 'RecentProjects' ).toStringList () print '>> self.recentProjects:', self.recentProjects self.ui.menuRecent_Projects.clear() if len(self.recentProjects): icon = QtGui.QIcon.fromTheme( 'folder', QtGui.QIcon(':/file_icons/resources/open.png')) # QtGui.QIcon ( ':/file_icons/resources/recentFile.png' ) 'folder' for i, fname in enumerate(self.recentProjects): # QtCore.QFileInfo ( fname ).fileName () action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname), self) action.setData(QtCore.QVariant(fname)) self.connect(action, QtCore.SIGNAL('triggered()'), self.onOpenRecentProject) self.ui.menuRecent_Projects.addAction(action) else: #self.recentProjects = app_settings.value ( 'RecentProjects' ) print '>> self.recentProjects:', self.recentProjects self.ui.menuRecent_Projects.clear() if len(self.recentProjects): icon = QtGui.QIcon.fromTheme( 'folder', QtGui.QIcon(':/file_icons/resources/open.png')) # QtGui.QIcon ( ':/file_icons/resources/recentFile.png' ) 'folder' for i, fname in enumerate(self.recentProjects): # QtCore.QFileInfo ( fname ).fileName () action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname), self) action.setData(fname) action.triggered.connect(self.onOpenRecentProject) self.ui.menuRecent_Projects.addAction(action)
def setupUi ( self, FloatWidget ) : # self.widget = FloatWidget self.labels = [] self.controls = [] font = QtGui.QFont () labelFontMetric = QtGui.QFontMetricsF ( font ) label_wi = 0 char_wi = labelFontMetric.width ( 'x' ) array_size = self.widget.param.arraySize if array_size > 0 : label_wi = char_wi * ( len ( str ( array_size - 1 ) ) + 2 ) # [0] for i in range ( self.widget.param.arraySize ) : self.labels.append ( QtModule.QLabel ( FloatWidget ) ) self.labels [ i ].setMinimumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) ) self.labels [ i ].setMaximumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) ) self.labels [ i ].setAlignment ( QtCore.Qt.AlignRight ) self.labels [ i ].setText ( '[' + str ( i ) + ']' ) self.controls.append ( QtModule.QLineEdit ( FloatWidget ) ) self.controls [ i ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) self.controls [ i ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND, UI.SP_MIN ) hl = QtModule.QHBoxLayout () hl.addWidget ( self.labels [ i ] ) hl.addWidget ( self.controls [ i ] ) hl.addItem ( sp ) self.widget.param_vl.addLayout ( hl ) self.connectSignals ( FloatWidget ) QtCore.QMetaObject.connectSlotsByName ( FloatWidget )
def buildRecentNetworksMenu(self): # if usePyQt4: #self.recentNetworks = app_settings.value ( 'RecentNetworks' ).toStringList () self.ui.menuRecent_Networks.clear() if len(self.recentNetworks): for i, fname in enumerate(self.recentNetworks): icon = QtGui.QIcon.fromTheme( 'document-new', QtGui.QIcon(':/file_icons/resources/new.png')) # QtCore.QFileInfo ( fname ).fileName () action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname), self) action.setData(QtCore.QVariant(fname)) self.connect(action, QtCore.SIGNAL('triggered()'), self.onOpenRecentNetwork) self.ui.menuRecent_Networks.addAction(action) else: #self.recentNetworks = app_settings.value ( 'RecentNetworks' ) self.ui.menuRecent_Networks.clear() if len(self.recentNetworks): for i, fname in enumerate(self.recentNetworks): icon = QtGui.QIcon.fromTheme( 'document-new', QtGui.QIcon(':/file_icons/resources/new.png')) # QtCore.QFileInfo ( fname ).fileName () action = QtModule.QAction(icon, '&%d %s' % (i + 1, fname), self) action.setData(fname) action.triggered.connect(self.onOpenRecentNetwork) self.ui.menuRecent_Networks.addAction(action)
def addRecentProject(self, project): # print '>> addRecentProject ', project if project is not None: if usePyQt4: recent_projects_max = getDefaultValue(app_settings, '', 'recent_projects_max') if project not in self.recentProjects: self.recentProjects.prepend(QtCore.QString(project)) while self.recentProjects.count() > recent_projects_max: self.recentProjects.takeLast() recentProjects = QtCore.QVariant( self.recentProjects ) if self.recentProjects else QtCore.QVariant() app_settings.setValue('RecentProjects', recentProjects) else: recent_projects_max = getDefaultValue(app_settings, '', 'recent_projects_max') if project not in self.recentProjects: self.recentProjects.insert(0, project) while len(self.recentProjects) > recent_projects_max: self.recentProjects.pop() app_settings.setValue('RecentProjects', self.recentProjects) print '* project added recentProjects =', self.recentProjects print '* recentProjects =', self.recentProjects
def disconnectSignals(self, PointWidget): # for i in range(self.widget.param.arraySize): if usePyQt4: PointWidget.disconnect(self.controls[i][0], QtCore.SIGNAL('editingFinished()'), self.onFloatEditEditingFinished) PointWidget.disconnect(self.controls[i][1], QtCore.SIGNAL('editingFinished()'), self.onFloatEditEditingFinished) PointWidget.disconnect(self.controls[i][2], QtCore.SIGNAL('editingFinished()'), self.onFloatEditEditingFinished) PointWidget.disconnect(self.controls[i][3], QtCore.SIGNAL('activated(int)'), self.onCurrentIndexChanged) else: self.controls[i][0].editingFinished.disconnect( self.onFloatEditEditingFinished) self.controls[i][1].editingFinished.disconnect( self.onFloatEditEditingFinished) self.controls[i][2].editingFinished.disconnect( self.onFloatEditEditingFinished) self.controls[i][3].activated.disconnect( self.onCurrentIndexChanged)
def buildGui(self): # build the gui created with QtDesigner self.ui = Ui_ExportShaderDialog() self.ui.setupUi(self) if self.editNode is not None: # self.setWindowTitle('ExportShader: %s (%s)' % (self.editNode.label, self.editNode.name)) separator = QtModule.QListWidgetItem('---- exported shader ----') separator.setFlags(QtCore.Qt.NoItemFlags) self.ui.list_nodes.addItem(separator) item = QtModule.QListWidgetItem(self.editNode.label) node_var = QtCore.QVariant(self.editNode) item.setData(QtCore.Qt.UserRole + 1, node_var) self.ui.list_nodes.addItem(item) separator = QtModule.QListWidgetItem('---- connected nodes ----') separator.setFlags(QtCore.Qt.NoItemFlags) self.ui.list_nodes.addItem(separator) #childrenList = [] #childrenList = self.editNode.getChildrenList ( childrenList ) self.computed_code = self.editNode.getComputedCode(CodeOnly=True) print '*** (%s) children list: ' % self.editNode.label for node in self.editNode.visitedNodes: #childrenList : print '* (%s)' % node.label item = QtModule.QListWidgetItem(node.label) item.setData(QtCore.Qt.UserRole + 1, QtCore.QVariant(node)) self.ui.list_nodes.addItem(item)
def setupUi(self, nodeLibraryView): nodeLibraryView.setObjectName(_fromUtf8("nodeLibraryView")) nodeLibraryView.resize(447, 443) self.verticalLayout = QtModule.QVBoxLayout(nodeLibraryView) self.verticalLayout.setSpacing(0) self.verticalLayout.setContentsMargins(2, 2, 2, 0) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.horizontalLayout = QtModule.QHBoxLayout() self.horizontalLayout.setSpacing(-1) self.horizontalLayout.setContentsMargins(8, -1, 8, -1) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) self.btn_reload = QtModule.QPushButton(nodeLibraryView) self.btn_reload.setMinimumSize(QtCore.QSize(60, 20)) self.btn_reload.setMaximumSize(QtCore.QSize(60, 20)) self.btn_reload.setObjectName(_fromUtf8("btn_reload")) self.horizontalLayout.addWidget(self.btn_reload) spacerItem = QtModule.QSpacerItem(40, 20, QtModule.QSizePolicy.Expanding, QtModule.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.horizontalLayout.setStretch(1, 1) self.verticalLayout.addLayout(self.horizontalLayout) self.nodeList = NodeList(nodeLibraryView) self.nodeList.setObjectName(_fromUtf8("nodeList")) self.verticalLayout.addWidget(self.nodeList) self.verticalLayout.setStretch(1, 1) self.retranslateUi(nodeLibraryView) if usePyQt4 : QtCore.QObject.connect(self.btn_reload, QtCore.SIGNAL(_fromUtf8("clicked()")), nodeLibraryView.onReload) else : self.btn_reload.clicked.connect( nodeLibraryView.onReload) QtCore.QMetaObject.connectSlotsByName(nodeLibraryView)
def startDrag(self, dropActions): # if DEBUG_MODE: print('>> NodeTreeView::startDrag') selectedIdx = self.selectedIndexes() # for idx in selectedIdx : idx = selectedIdx[0] item = self.model().itemFromIndex(idx) #print "item = %s" % item.text() # set custom data data = QtCore.QByteArray() stream = QtCore.QDataStream(data, QtCore.QIODevice.WriteOnly) itemName = item.text() if usePyQt4: itemFilename = item.data(QtCore.Qt.UserRole + 4).toString() else: itemFilename = item.data(QtCore.Qt.UserRole + 4) if not usePyQt5: if usePySide: stream.writeString(itemFilename) else: stream << itemFilename else: stream.writeBytes(itemFilename) if DEBUG_MODE: print('* write itemFilename = %s' % (itemFilename)) mimeData = QtCore.QMimeData() mimeData.setData('application/x-text', data) # set drag drag = QtGui.QDrag(self) drag.setMimeData(mimeData) #drag.setPixmap ( QtGui.QPixmap(':/node.png') ) if not usePyQt5: drag.start(QtCore.Qt.CopyAction) else: drag.exec_(QtCore.Qt.CopyAction)
def disconnectSignals ( self, FloatWidget ) : # if usePyQt4 : FloatWidget.disconnect ( self.floatEdit, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished ) FloatWidget.disconnect ( self.slider, QtCore.SIGNAL ( 'valueChanged(int)' ), self.onSliderValueChanged ) else : self.floatEdit.editingFinished.disconnect ( self.onFloatEditEditingFinished ) self.slider.valueChanged.disconnect ( self.onSliderValueChanged )
def disconnectSignals ( self ) : # if usePyQt4 : QtCore.QObject.disconnect ( self.node, QtCore.SIGNAL ( 'nodeUpdated' ), self.onUpdateNode ) QtCore.QObject.disconnect ( self.node, QtCore.SIGNAL ( 'nodeParamsUpdated' ), self.onUpdateNodeParams ) else : self.node.nodeUpdated.disconnect ( self.onUpdateNode ) self.node.nodeParamsUpdated.disconnect ( self.onUpdateNodeParams )
def onSave(self): # get data from Gui for current renderer before saving self.getDataFromGui() if usePyQt4: self.emit(QtCore.SIGNAL('presetChanged')) self.emit(QtCore.SIGNAL('savePreset')) else: self.presetChanged.emit() self.savePreset.emit()
def connectSignals(self, IntWidget): # if usePyQt4: IntWidget.connect(self.intEdit, QtCore.SIGNAL('editingFinished()'), self.onIntEditEditingFinished) IntWidget.connect(self.slider, QtCore.SIGNAL('valueChanged(int)'), self.onSliderValueChanged) else: self.intEdit.editingFinished.connect(self.onIntEditEditingFinished) self.slider.valueChanged.connect(self.onSliderValueChanged)
def connectSignals(self): # if usePyQt4: self.connect(self.nameEdit, QtCore.SIGNAL('editingFinished()'), self.nodeLabelChanged) self.connect(self.showConnectButton, QtCore.SIGNAL('toggled(bool)'), self.showConnections) else: self.nameEdit.editingFinished.connect(self.nodeLabelChanged) self.showConnectButton.toggled.connect(self.showConnections)
def connectSignals(self): if usePyQt4: QtCore.QObject.connect(self, QtCore.SIGNAL('selectionChanged()'), self.view.onSelectionChanged) QtCore.QObject.connect(self, QtCore.SIGNAL('startNodeLink'), self.view.onStartNodeLink) QtCore.QObject.connect(self, QtCore.SIGNAL('traceNodeLink'), self.view.onTraceNodeLink) QtCore.QObject.connect(self, QtCore.SIGNAL('endNodeLink'), self.view.onEndNodeLink) QtCore.QObject.connect(self, QtCore.SIGNAL('startNodeConnector'), self.view.onStartNodeConnector) QtCore.QObject.connect(self, QtCore.SIGNAL('traceNodeConnector'), self.view.onTraceNodeConnector) QtCore.QObject.connect(self, QtCore.SIGNAL('endNodeConnector'), self.view.onEndNodeConnector) QtCore.QObject.connect(self, QtCore.SIGNAL('onGfxNodeRemoved'), self.view.onRemoveNode) QtCore.QObject.connect(self, QtCore.SIGNAL('onGfxLinkRemoved'), self.view.onRemoveLink) else: self.selectionChanged.connect(self.view.onSelectionChanged) self.startNodeLink.connect(self.view.onStartNodeLink) self.traceNodeLink.connect(self.view.onTraceNodeLink) self.endNodeLink.connect(self.view.onEndNodeLink) self.startNodeConnector.connect(self.view.onStartNodeConnector) self.traceNodeConnector.connect(self.view.onTraceNodeConnector) self.endNodeConnector.connect(self.view.onEndNodeConnector) self.onGfxNodeRemoved.connect(self.view.onRemoveNode) self.onGfxLinkRemoved.connect(self.view.onRemoveLink)
def setupUi ( self, NormalWidget ) : # self.widget = NormalWidget self.labels = [] self.controls = [] font = QtGui.QFont () labelFontMetric = QtGui.QFontMetricsF ( font ) label_wi = 0 char_wi = labelFontMetric.width ( 'x' ) array_size = self.widget.param.arraySize if array_size > 0 : label_wi = char_wi * ( len ( str ( array_size - 1 ) ) + 2 ) # [0] for i in range ( self.widget.param.arraySize ) : self.labels.append ( QtModule.QLabel ( NormalWidget ) ) self.labels [ i ].setMinimumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) ) self.labels [ i ].setMaximumSize ( QtCore.QSize ( label_wi, UI.HEIGHT ) ) self.labels [ i ].setAlignment ( QtCore.Qt.AlignRight ) self.labels [ i ].setText ( '[' + str ( i ) + ']' ) elem = [] elem.append ( QtModule.QLineEdit( NormalWidget ) ) elem.append ( QtModule.QLineEdit( NormalWidget ) ) elem.append ( QtModule.QLineEdit( NormalWidget ) ) elem.append ( QtModule.QComboBox ( NormalWidget ) ) elem [ 0 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 1 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 2 ].setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 0 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 1 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 2 ].setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) elem [ 3 ].setEditable ( False ) elem [ 3 ].setMaximumSize ( QtCore.QSize( UI.MAX, UI.COMBO_HEIGHT ) ) for label in VALID_RSL_SPACES : elem [ 3 ].addItem ( label ) space = self.widget.param.spaceArray [ i ] if space != None : elem [ 3 ].setCurrentIndex ( elem [ 3 ].findText ( space ) ) self.controls.append ( elem ) sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND, UI.SP_MIN ) hl = QtModule.QHBoxLayout () hl.addWidget ( self.labels [ i ] ) hl.addWidget ( elem [ 0 ] ) hl.addWidget ( elem [ 1 ] ) hl.addWidget ( elem [ 2 ] ) hl.addWidget ( elem [ 3 ] ) hl.addItem ( sp ) self.widget.param_vl.addLayout ( hl ) self.connectSignals ( NormalWidget ) QtCore.QMetaObject.connectSlotsByName ( NormalWidget )
def connectSignals(self, ColorWidget): # register signal propertyChanged for updating the gui #self.connect( self.colorProperty, QtCore.SIGNAL('propertyChanged()'), self.onPropertyChanged ) if usePyQt4: ColorWidget.connect(ColorWidget, QtCore.SIGNAL('clicked()'), self.onClicked) ColorWidget.connect(self.selector, QtCore.SIGNAL('activated(int)'), self.onCurrentIndexChanged) else: ColorWidget.clicked.connect(self.onClicked) self.selector.activated.connect(self.onCurrentIndexChanged)
def buildGui(self): # #print ( '>>> ColorField.buildGui' ) # install a custom filter in order to avoid subclassing self.colorFieldEventFilter = ColorFieldEventFilter(self) self.colorEdit = QtModule.QLabel(self) self.colorEdit.setMinimumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT)) self.colorEdit.setMaximumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT)) self.setMinimumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT)) self.setMaximumSize(QtCore.QSize(UI.COLOR_WIDTH, UI.HEIGHT)) self.colorEdit.installEventFilter(self.colorFieldEventFilter)
def setupUi(self, ColorWidget): # print('>> Ui_ColorWidget_array.setupUi (%s)' % ColorWidget.param.label) self.widget = ColorWidget self.labels = [] self.controls = [] font = QtGui.QFont() labelFontMetric = QtGui.QFontMetricsF(font) label_wi = 0 char_wi = labelFontMetric.width('x') array_size = self.widget.param.arraySize if array_size > 0: label_wi = char_wi * (len(str(array_size - 1)) + 2) # [0] for i in range(self.widget.param.arraySize): self.labels.append(QtModule.QLabel(ColorWidget)) self.labels[i].setMinimumSize(QtCore.QSize(label_wi, UI.HEIGHT)) self.labels[i].setMaximumSize(QtCore.QSize(label_wi, UI.HEIGHT)) self.labels[i].setAlignment(QtCore.Qt.AlignRight) self.labels[i].setText('[' + str(i) + ']') elem = [] elem.append(ColorField(ColorWidget, self.widget.param.value[i], i)) elem.append(QtModule.QComboBox(ColorWidget)) elem[1].setEditable(False) elem[1].setMaximumSize(QtCore.QSize(UI.MAX, UI.COMBO_HEIGHT)) for label in VALID_RSL_COLOR_SPACES: elem[1].addItem(label) space = self.widget.param.spaceArray[i] if space != None: elem[1].setCurrentIndex(elem[1].findText(space)) self.controls.append(elem) sp = QtModule.QSpacerItem(0, 0, UI.SP_EXPAND, UI.SP_MIN) hl = QtModule.QHBoxLayout() hl.setContentsMargins(UI.SPACING, UI.SPACING, UI.SPACING, UI.SPACING) hl.setSpacing(UI.SPACING) hl.addWidget(self.labels[i]) hl.addWidget(elem[0]) hl.addWidget(elem[1]) hl.addItem(sp) self.widget.param_vl.addLayout(hl) self.connectSignals(ColorWidget) QtCore.QMetaObject.connectSlotsByName(ColorWidget)
def connectSignals(self, StringWidget): # if usePyQt4: StringWidget.connect(self.stringEdit, QtCore.SIGNAL('editingFinished()'), self.onStringEditEditingFinished) StringWidget.connect(self.btnBrowseDir, QtCore.SIGNAL('clicked()'), self.onBrowseFile) else: self.stringEdit.editingFinished.connect( self.onStringEditEditingFinished) self.btnBrowseDir.clicked.connect(self.onBrowseFile)
def connectSignals(self, ColorWidget): # for i in range(self.widget.param.arraySize): elem = self.controls[i] if usePyQt4: ColorWidget.connect(elem[0], QtCore.SIGNAL('clicked(int)'), self.onClicked) ColorWidget.connect(elem[1], QtCore.SIGNAL('activated(int)'), self.onCurrentIndexChanged) else: elem[0].clicked.connect(self.onClicked) elem[1].activated.connect(self.onCurrentIndexChanged)
def disconnectSignals ( self, NormalWidget ) : # if usePyQt4 : NormalWidget.disconnect ( self.floatEdit0, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished ) NormalWidget.disconnect ( self.floatEdit1, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished ) NormalWidget.disconnect ( self.floatEdit2, QtCore.SIGNAL ( 'editingFinished()' ), self.onFloatEditEditingFinished ) NormalWidget.disconnect ( self.selector, QtCore.SIGNAL ( 'activated(int)' ), self.onCurrentIndexChanged ) else : self.floatEdit0.editingFinished.disconnect ( self.onFloatEditEditingFinished ) self.floatEdit1.editingFinished.disconnect ( self.onFloatEditEditingFinished ) self.floatEdit2.editingFinished.disconnect ( self.onFloatEditEditingFinished ) self.selector.activated.disconnect ( self.onCurrentIndexChanged )
def connectSignals(self): # if usePyQt4: QtCore.QObject.connect(self.ui.treeView, QtCore.SIGNAL("pressed(QModelIndex)"), self.clicked) QtCore.QObject.connect(self.ui.treeView, QtCore.SIGNAL("doubleClicked(QModelIndex)"), self.doubleClicked) else: self.ui.treeView.pressed.connect(self.clicked) self.ui.treeView.doubleClicked.connect(self.doubleClicked)
def connectSignals(self): # if usePyQt4: QtCore.QObject.connect(self.ui.imageArea, QtCore.SIGNAL('mouseDoubleClickSignal'), self.updateViewer) QtCore.QObject.connect(self.ui.selector, QtCore.SIGNAL('currentIndexChanged(int)'), self.onViewerChanged) #QtCore.QObject.connect( self.ui, QtCore.SIGNAL( 'paramChanged()' ), self.onParamChanged ) else: self.ui.imageArea.mouseDoubleClickSignal.connect(self.updateViewer) self.ui.selector.currentIndexChanged.connect(self.onViewerChanged)
def setupUi ( self, FloatWidget ) : # self.widget = FloatWidget hl = QtModule.QHBoxLayout () self.floatEdit = QtModule.QLineEdit ( FloatWidget ) self.floatEdit.setMinimumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) # UI.EDIT_WIDTH self.floatEdit.setMaximumSize ( QtCore.QSize ( UI.FIELD_WIDTH, UI.HEIGHT ) ) sp = QtModule.QSpacerItem ( 0, 0, UI.SP_EXPAND, UI.SP_MIN ) hl.addWidget ( self.floatEdit ) hl.addItem ( sp ) self.widget.param_vl.addLayout ( hl ) self.connectSignals ( FloatWidget ) QtCore.QMetaObject.connectSlotsByName ( FloatWidget )