def __init__(self): """Builds the initial combose box UI""" QtGui.QFrame.__init__(self) QtGui.QVBoxLayout(self) assetFrame = QtGui.QFrame(self) QtGui.QHBoxLayout(assetFrame) self.layout().addWidget(assetFrame) assetFrame.layout().addWidget(QtGui.QLabel("show:")) self.__showCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__showCombobox) assetFrame.layout().addWidget(QtGui.QLabel("shot:")) self.__shotCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__shotCombobox) assetFrame.layout().addWidget(QtGui.QLabel("asset:")) self.__assetCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__assetCombobox) assetFrame.layout().addWidget(QtGui.QLabel("version:")) self.__versionCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__versionCombobox) self.connect(self.__showCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateShow) self.connect(self.__shotCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateShot) self.connect(self.__assetCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateAsset) self.connect(self.__versionCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateVersion) # Modify the integrated QListViews to lay out the items every time the # view is resized, so that changes in the application font preferences # are correctly reflected for combobox in (self.__showCombobox, self.__shotCombobox, self.__assetCombobox, self.__versionCombobox): combobox.view().setResizeMode(QtGui.QListView.Adjust) self.__sandboxCheckBox = QtGui.QCheckBox('Save to Sandbox', self) self.layout().addWidget(self.__sandboxCheckBox) self.__showCombobox.addItems(_getShows())
def __buildToolbar(self, parent): self.__toolbarLayout = QtGui.QHBoxLayout() parent.layout().addLayout(self.__toolbarLayout) self.__scopePopup = QtGui.QComboBox(parent) self.connect(self.__scopePopup, QtCore.SIGNAL('currentIndexChanged(const QString &)'), self.__refresh) self.__scopePopup.addItems([ 'Selected ShadingNodes', 'All ShadingNodes', 'Upstream of NetworkMaterial' ]) self.__toolbarLayout.addWidget(self.__scopePopup) self.__shadingNetworkMaterialsPopup = QtGui.QComboBox(parent) self.__shadingNetworkMaterialsPopup.addItems( [x.getName() for x in self.__getNetworkMaterials()]) self.connect(self.__shadingNetworkMaterialsPopup, QtCore.SIGNAL('currentIndexChanged(const QString &)'), self.__refresh) self.__shadingNetworkMaterialsPopup.hide() self.__toolbarLayout.addWidget(self.__shadingNetworkMaterialsPopup) self.__toolbarLayout.addStretch() self.__filterField = Widgets.FilterFieldWidget(parent) self.connect(self.__filterField, QtCore.SIGNAL('filterUpdate'), self.__filterUpdate) self.__toolbarLayout.addWidget(self.__filterField) self.__statusBar = QtGui.QLabel('', parent) parent.layout().addWidget(self.__statusBar)
def __buildScriptArea(self, parent): self.__presetToolbar = QtGui.QHBoxLayout() parent.layout().addLayout(self.__presetToolbar) self.__presetToolbar.addWidget(QtGui.QLabel('Presets:', parent)) self.__presetsMenu = QtGui.QComboBox(parent) self.__presetsMenu.addItems( self.__presetNames ) self.__presetToolbar.addWidget(self.__presetsMenu) self.__presetLoadButton = QtGui.QPushButton('Load', parent) self.connect(self.__presetLoadButton, QtCore.SIGNAL('clicked()'), self._loadPreset) self.__presetToolbar.addWidget(self.__presetLoadButton) self.__presetToolbar.addStretch() self.__scriptText = TabbableTextEdit(parent) parent.layout().addWidget(self.__scriptText) self.__scriptToolbar = QtGui.QHBoxLayout() parent.layout().addLayout(self.__scriptToolbar) self.__scriptHelp = QT4FormWidgets.InputWidgets.HelpButton( parent) self.__scriptHelp.setAutoDefault(False) self.__scriptHelp.setHelpText(""" local variables: <br> <b>nodeName</b>, <b>paramName</b> these are inputs, changing has no result<br> <b>dstName</b>, <b>dstPage</b> change these values sets exposure<br> <b>hints</b> set fields of this dict to assign widget hints<br> <b>persistentData</b>, a dictionary that is reset each time 'Run Script' is pressed, rather than just for each parameter. Useful if you wish to store data about previously visited parameters, for example. """) self.__scriptToolbar.addWidget(self.__scriptHelp) self.__scriptScope = QtGui.QComboBox(parent) self.__scriptToolbar.addWidget(QtGui.QLabel('Apply Script To', parent)) self.__scriptScope.addItems( ['All Visible Items', 'Selected Visible Items', 'All Items']) self.__scriptToolbar.addWidget(self.__scriptScope) self.__scriptToolbar.addStretch() self.__undoDepth = 0 self.__scriptUndoButton = QtGui.QPushButton('Undo', parent) self.__scriptUndoButton.setEnabled(False) self.connect(self.__scriptUndoButton, QtCore.SIGNAL('clicked()'), self.__undo) self.__scriptToolbar.addWidget(self.__scriptUndoButton) self.__scriptRunButton = QtGui.QPushButton('Run Script', parent) #self.__scriptRunButton.setEnabled(False) self.connect(self.__scriptRunButton, QtCore.SIGNAL('clicked()'), self.__evaluateScript) self.__scriptToolbar.addWidget(self.__scriptRunButton)
def buildUI(self): layout = QtGui.QVBoxLayout(self) ######################################################### # upper row controlWidget = QtGui.QWidget() controlLayout = QtGui.QHBoxLayout(controlWidget) layout.addWidget(controlWidget) # reload reloadBtn = QtGui.QPushButton('RELOAD') reloadBtn.setStyleSheet("background-color: #1f366b;") reloadBtn.clicked.connect(self.clearSearch) reloadBtn.clicked.connect(self.populate) reloadBtn.clicked.connect(self.categories) # standard MTL createStd = QtGui.QPushButton('Standard Material') createStd.setStyleSheet("background-color: #36743f;") createStd.clicked.connect(self.createStandard) createStd.setMaximumWidth(110) # thumbnail size self.icon_size = QtGui.QSpinBox() self.icon_size.setRange(60, 260) self.icon_size.setValue(128) self.icon_size.setSingleStep(20) self.icon_size.valueChanged.connect(self.populate) self.icon_size.setMaximumWidth(50) label = QtGui.QLabel() label.setText('Thumbnail size:') label.setMaximumWidth(100) #layout controlLayout.addWidget(label) controlLayout.addWidget(self.icon_size) controlLayout.addWidget(reloadBtn) controlLayout.addWidget(createStd) ######################################################### # second row searchWidget = QtGui.QWidget() searchLayout = QtGui.QHBoxLayout(searchWidget) layout.addWidget(searchWidget) # search field label1 = QtGui.QLabel() label1.setText('Search:') label1.setMaximumWidth(50) self.searchField = QtGui.QLineEdit() self.searchField.returnPressed.connect(self.populate) # self.searchField.textChanged.connect(self.searchCmd) self.searchField.setMaximumWidth(650) # categories label2 = QtGui.QLabel() label2.setText('Category:') label2.setMaximumWidth(80) self.catedoryCB = QtGui.QComboBox() self.catedoryCB.currentIndexChanged.connect(self.populate) self.catedoryCB.setMaximumWidth(100) # layout searchLayout.addWidget(label1) searchLayout.addWidget(self.searchField) searchLayout.addWidget(label2) searchLayout.addWidget(self.catedoryCB) ######################################################### # main list view self.listWidget = QtGui.QListWidget() self.listWidget.setViewMode(QtGui.QListWidget.IconMode) self.listWidget.setResizeMode(QtGui.QListWidget.Adjust) self.listWidget.itemDoubleClicked.connect(self.doubleCkicked) self.listWidget.setStyleSheet("QListWidget::item {" "border-style: solid;" "border-width:3px;" "background-color: #252525;" "}" "QListWidget::item:selected {" "background-color: #1e1e1e;" "}") layout.addWidget(self.listWidget)