def buildWidgets(self, hints): """ This will construct the UI for the render widget for the asset management system. """ label = QtGui.QLabel(" (PyMock)", self) label.setProperty('smallFont', True) label.setProperty('boldFont', True) p = label.palette() p.setColor(QtGui.QPalette.WindowText, QtGui.QColor(255, 200, 0)) p.setColor(QtGui.QPalette.Text, QtGui.QColor(255, 200, 0)) label.setPalette(p) self.layout().addWidget(label) assetIdWidget = QtGui.QWidget(self) assetIdHBox = QtGui.QHBoxLayout(assetIdWidget) assetIdLabel = QtGui.QLabel("Output Asset:", assetIdWidget) assetIdLabel.setEnabled(False) assetIdHBox.addWidget(assetIdLabel, 0) self.__assetIdLabel = QtGui.QLineEdit("", assetIdWidget) self.__assetIdLabel.setReadOnly(True) assetIdHBox.addWidget(self.__assetIdLabel, 0) self.layout().addWidget(assetIdWidget) self.updateWidgets()
def buildWidgets(self, hints): """Creates most of the UI widgets""" label = QtGui.QLabel(" (PyMock)", self) label.setProperty('smallFont', True) label.setProperty('boldFont', True) p = label.palette() p.setColor(QtGui.QPalette.WindowText, QtGui.QColor(255, 200, 0)) p.setColor(QtGui.QPalette.Text, QtGui.QColor(255, 200, 0)) label.setPalette(p) self.layout().addWidget(label) self.layout().addWidget(QtGui.QLabel("mock://")) self.__showEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__showEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__shotEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__shotEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__assetEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__assetEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__versionEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__versionEdit) self.connect(self.__showEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__shotEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__assetEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__versionEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus)
def create(self): widget = QtGui.QWidget() widget_a = QtGui.QWidget() widget_b = QtGui.QWidget() palette = widget.palette() palette.setColor(widget.backgroundRole(), QtGui.QColor(0.14 * 255, 0.14 * 255, 0.14 * 255)) widget.setPalette(palette) layout = QtGui.QVBoxLayout(widget) layout.setSpacing(5) layout.setContentsMargins(0, 0, 0, 0) layout_a = QtGui.QVBoxLayout(widget_a) layout_b = QtGui.QVBoxLayout(widget_b) layout_a.setContentsMargins(10, 10, 10, 10) layout_b.setContentsMargins(10, 10, 10, 10) widget_line = QtGui.QFrame() widget_line.setFrameShape(QtGui.QFrame.HLine) widget_line.setFrameShadow(QtGui.QFrame.Sunken) layout.addWidget(widget_a) layout.addWidget(widget_line) layout.addWidget(widget_b) self.pre_shot_image = kImageWidget() pre_shot_image_path = os.path.join(_iconsDir, "no-image.svg") pixmap = QtGui.QPixmap(pre_shot_image_path) self.pre_shot_image.setPixmap(pixmap) self.post_shot_image = kImageWidget() post_shot_image_path = os.path.join(_iconsDir, "no-image.svg") pixmap = QtGui.QPixmap(post_shot_image_path) self.post_shot_image.setPixmap(pixmap) self.pre_shot_label = QtGui.QLabel() self.pre_shot_label.setFont( QtGui.QFont("Rome times", 6, QtGui.QFont.Bold)) self.pre_shot_label.setText( "<font color='white'>Pre Shot : None</font>") self.pre_shot_label.setAlignment(QtCore.Qt.AlignLeft) self.pre_shot_label.setGeometry(5, 5, 300, 100) self.pre_shot_label.setParent(self.pre_shot_image) self.post_shot_label = QtGui.QLabel() self.post_shot_label.setFont( QtGui.QFont("Rome times", 6, QtGui.QFont.Bold)) self.post_shot_label.setText( "<font color='white'>Post Shot : None</font>") self.post_shot_label.setAlignment(QtCore.Qt.AlignLeft) self.post_shot_label.setGeometry(5, 5, 300, 100) self.post_shot_label.setParent(self.post_shot_image) layout_a.addWidget(self.pre_shot_image) layout_b.addWidget(self.post_shot_image) return widget
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 setMessage(message): from Katana import QtCore, QtGui layoutsMenus = [x for x in QtGui.qApp.topLevelWidgets() if type(x).__name__ == 'LayoutsMenu'] KatanaWindow = layoutsMenus[0].parent().parent() widget = QtGui.QDialog(parent=KatanaWindow) title_layout = QtGui.QVBoxLayout() button_layout = QtGui.QHBoxLayout() title = QtGui.QLabel() button = QtGui.QPushButton() font = QtGui.QFont() font.setPixelSize(16) title.setText(message) title.setFont(font) title.setAlignment(QtCore.Qt.AlignHCenter) button.setText("Confirm!") button.clicked.connect(widget.close) button.setFixedHeight(30) title_layout.addStretch() title_layout.addWidget(title) title_layout.addStretch() button_layout.addStretch() button_layout.addWidget(button) button_layout.addStretch() mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(title_layout) mainLayout.addLayout(button_layout) widget.setWindowTitle("GafferThreeRigs.Warning") widget.setLayout(mainLayout) widget.setFixedHeight(130) widget.show()
def showNodeParams(self): self.__clearCmd() vertSpacer = QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding) vertSpacer1 = QtGui.QSpacerItem(5, 5, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding) factory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory name = self.scenAovsList.currentItem().text() for node in self.__node.getChildren(): if node.getParameter('aov'): if node.getParameter('aov').getValue(0) == name: self.aov = node self.aocd = self.aov.getChildByIndex(0) self.rod = self.aov.getChildByIndex(1) typePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('type')) typeParam = factory.buildWidget(self, typePolicy) filterPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('filter')) filterParam = factory.buildWidget(self, filterPolicy) lpePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('lightPathExpression')) lpeParam = factory.buildWidget(self, lpePolicy) lGrpPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('lightGroups')) lGrpParam = factory.buildWidget(self, lGrpPolicy) cust_lGrpPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('customLightGroup')) cust_lGrpParam = factory.buildWidget(self, cust_lGrpPolicy) self.__nameLine = QtGui.QLineEdit('') self.__nameLine.setText(str( self.aocd.getParameter('name').getValue(0))) self.__nameLine.returnPressed.connect(self.__nameReturnPressed) nameLayout = QtGui.QHBoxLayout() self.__label = QtGui.QLabel('AOV Name') nameLayout.addWidget(self.__label) nameLayout.addWidget(self.__nameLine) self.scrollLayout.addItem(vertSpacer1) self.scrollLayout.addLayout(nameLayout) self.scrollLayout.addWidget(QHLine()) self.scrollLayout.addWidget(typeParam) self.scrollLayout.addWidget(filterParam) self.scrollLayout.addWidget(QHLine()) self.scrollLayout.addWidget(lpeParam) self.scrollLayout.addWidget(lGrpParam) self.scrollLayout.addWidget(cust_lGrpParam) self.scrollLayout.addItem(vertSpacer)
def buildWidgets(self, hints): """Creates most of the UI widgets""" label = QtGui.QLabel(" (PyMock)", self) label.setProperty('smallFont', True) label.setProperty('boldFont', True) p = label.palette() p.setColor(QtGui.QPalette.WindowText, QtGui.QColor(255, 200, 0)) p.setColor(QtGui.QPalette.Text, QtGui.QColor(255, 200, 0)) label.setPalette(p) self.layout().addWidget(label) self.__protocolLabel = QtGui.QLabel("mock://") self.layout().addWidget(self.__protocolLabel) self.__showEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__showEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__shotEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__shotEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__assetEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__assetEdit) self.layout().addWidget(QtGui.QLabel("/")) self.__versionEdit = QT4FormWidgets.InputWidgets.InputLineEdit(self) self.layout().addWidget(self.__versionEdit) self.connect(self.__showEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__shotEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__assetEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) self.connect(self.__versionEdit, QtCore.SIGNAL("lostFocus"), self.__lostFocus) # Add a context menu to the protocol label self.__protocolLabel.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.connect( self.__protocolLabel, QtCore.SIGNAL('customContextMenuRequested(const QPoint&)'), self.onContextMenu) self.__popupMenu = QtGui.QMenu(self) self.__popupMenu.addAction("Swap protocol", self.onSwapProtocol)
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QHBoxLayout(self) self.label = QtGui.QLabel() self.label.setFixedWidth(150) self.label.setAlignment(QtCore.Qt.AlignRight) self.edited = QtGui.QLineEdit() layout.addWidget(self.label) layout.addWidget(self.edited)
def __buildListWidget(self, name, parentLayout): layout = QtGui.QVBoxLayout() layout.addWidget(QtGui.QLabel(name)) listWidget = QtGui.QListWidget() layout.addWidget(listWidget) parentLayout.addLayout(layout) return listWidget
def messageKeyPressCallback(self): """ Shows a message label. """ if self.__popupLabel is None: self.__popupLabel = QtGui.QLabel("Key is being pressed!", self) w = 150 h = 50 self.__popupLabel.setGeometry((self.width() - w) / 2, (self.height() - h) / 2, w, h) self.__popupLabel.show()
def __init__(self, parent): BaseTab.__init__(self, parent) self.__runtime = None self.__client = None self.setLayout(QtGui.QVBoxLayout()) self.layout().setSpacing(2) self.layout().setMargin(0) self.__locationsLabel = QtGui.QLabel('Locations') self.layout().addWidget(self.__locationsLabel) self.__locationInfoLabel = QtGui.QLabel('Info') self.layout().addWidget(self.__locationInfoLabel) self.__infoFrame = QtGui.QFrame() self.__infoFrame.setLayout(QtGui.QVBoxLayout()) self.layout().addWidget(self.__infoFrame) self.__setLocations() self.__connectSignals()
def widget(self): layoutsMenus = [ x for x in QtGui.qApp.topLevelWidgets() if type(x).__name__ == 'LayoutsMenu' ] KatanaWindow = layoutsMenus[0].parent().parent() saveTo = self.getParameter('saveTo').getValue(0) widget = QtGui.QDialog(parent=KatanaWindow) title_layout = QtGui.QVBoxLayout() button_layout = QtGui.QHBoxLayout() title = QtGui.QLabel() button = QtGui.QPushButton() font = QtGui.QFont() font.setPixelSize(16) if saveTo: title.setText("MaterialX baking succeeded!") else: title.setText("Please enter the saving path!") title.setFont(font) title.setAlignment(QtCore.Qt.AlignHCenter) button.setText("Confirm!") button.clicked.connect(widget.close) button.setFixedHeight(30) title_layout.addStretch() title_layout.addWidget(title) title_layout.addStretch() button_layout.addStretch() button_layout.addWidget(button) button_layout.addStretch() mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(title_layout) mainLayout.addLayout(button_layout) widget.setWindowTitle("MaterialXAssign") widget.setLayout(mainLayout) widget.setFixedHeight(130) widget.show()
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 setDisplayMode(self, mode): """ Set display mode and corresponding tool tips, icons, etc. """ self.__displayMode = mode if self.__displayMode == (DISPLAY_LIGHTS | DISPLAY_CAMERAS): switchArea = self.getWidgetSwitchArea() self.__topHBox = QtGui.QFrame(switchArea) switchArea.layout().addWidget(self.__topHBox) self.__topHBox.setLayout(QtGui.QHBoxLayout()) spacer = QtGui.QLabel('', self) self.__topHBox.layout().addWidget(spacer) self.__topHBox.layout().setStretchFactor(spacer, 100) self.__lightsCheckbox = QtGui.QCheckBox("Lights", self.__topHBox) self.__lightsCheckbox.setChecked(True) self.__topHBox.layout().addWidget(self.__lightsCheckbox) QtCore.QObject.connect(self.__lightsCheckbox, QtCore.SIGNAL('stateChanged(int)'), self.__on_lightsCheckbox_stateChanged) self.__camerasCheckbox = QtGui.QCheckBox("Cameras", self.__topHBox) self.__camerasCheckbox.setChecked(True) self.__topHBox.layout().addWidget(self.__camerasCheckbox) QtCore.QObject.connect(self.__camerasCheckbox, QtCore.SIGNAL('stateChanged(int)'), self.__on_camerasCheckbox_stateChanged) self.setToolTip("Choose Light or Camera") elif mode & DISPLAY_LIGHTS: self.setScenegraphPixmap(self.__pixmaps['light']) self.setToolTip("Choose Light") else: self.setScenegraphPixmap(self.__pixmaps['camera']) self.setToolTip("Choose Camera")
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)
def __buildUI(self): layout = QtGui.QVBoxLayout(self) fileLayout = QtGui.QHBoxLayout() formatLayout = QtGui.QHBoxLayout() filenamePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Filename')) factory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory filenameLine = factory.buildWidget(self, filenamePolicy) fileLayout.addWidget(filenameLine) formatPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Format')) formatParam = factory.buildWidget(self, formatPolicy) BitDepthPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('BitDepth')) BitDepthParam = factory.buildWidget(self, BitDepthPolicy) tiledPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Tiled')) tiledParam = factory.buildWidget(self, tiledPolicy) mergePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('MergeAOVs')) mergeParam = factory.buildWidget(self, mergePolicy) formatLayout.addWidget(formatParam) formatLayout.addWidget(BitDepthParam) formatLayout.addWidget(tiledParam) overallListLayout = QtGui.QHBoxLayout() globalListLayout = QtGui.QVBoxLayout() sceneListLayout = QtGui.QVBoxLayout() __labelAOV1 = QtGui.QLabel('AOV List') __labelAOV2 = QtGui.QLabel('Scene AOVs') globalListLayout.addWidget(__labelAOV1) sceneListLayout.addWidget(__labelAOV2) self.globalAovsList = QtGui.QListWidget() self.globalAovsList.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) self.globalAovsList.itemDoubleClicked.connect(self.__addButtonClicked) globalListLayout.addWidget(self.globalAovsList) self.scenAovsList = QtGui.QListWidget() self.scenAovsList.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) self.scenAovsList.itemDoubleClicked.connect(self.__removeButtonClicked) self.scenAovsList.itemClicked.connect(self.showNodeParams) sceneListLayout.addWidget(self.scenAovsList) btnLayout = QtGui.QHBoxLayout() __addAovBtn = QtGui.QPushButton('>>') self.connect(__addAovBtn, QtCore.SIGNAL('clicked()'), self.__addButtonClicked) globalListLayout.addWidget(__addAovBtn) customBtn = QtGui.QPushButton('Custom') customBtn.clicked.connect(self.__customClicket) btnLayout.addWidget(customBtn) __removeAovBtn = QtGui.QPushButton('<<') self.connect(__removeAovBtn, QtCore.SIGNAL('clicked()'), self.__removeButtonClicked) btnLayout.addWidget(__removeAovBtn) __scrollWidget = QtGui.QWidget() # __scrollWidget.setMinimumHeight(350) __scrollWidget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.scrollLayout = QtGui.QVBoxLayout(__scrollWidget) scrollArea = QtGui.QScrollArea() scrollArea.setWidgetResizable(True) scrollArea.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) scrollArea.setMinimumHeight(200) scrollArea.setWidget(__scrollWidget) sceneListLayout.addLayout(btnLayout) overallListLayout.addLayout(globalListLayout) overallListLayout.addLayout(sceneListLayout) layout.addLayout(fileLayout) layout.addLayout(formatLayout) layout.addWidget(mergeParam) layout.addWidget(QHLine()) layout.addLayout(overallListLayout) # layout.addLayout(btnLayout) layout.addWidget(scrollArea)