def __init__(self, instances=None, parent=None): QtWidgets.QDialog.__init__(self, parent) self.setWindowTitle("Update Sequence Range") self.setModal(True) self.setFixedWidth(150) self.setFixedHeight(100) self._instances = instances layout = QtWidgets.QVBoxLayout() start_hlayout = QtWidgets.QHBoxLayout() start_label = QtWidgets.QLabel("Start") start_label.setFixedWidth(30) start_stylesheet = "QAbstractQSpinBox:up-button {subcontrol-origin: border}" start_value = QtWidgets.QSpinBox() start_value.setAlignment(QtCore.Qt.AlignRight) start_value.setStyleSheet(start_stylesheet) start_hlayout.addWidget(start_label) start_hlayout.addWidget(start_value) end_hlayout = QtWidgets.QHBoxLayout() end_label = QtWidgets.QLabel("End") end_label.setFixedWidth(30) end_stylesheet = "QAbstractSpinBox:down-button {subcontrol-origin: bottom}" end_value = QtWidgets.QSpinBox() end_value.setAlignment(QtCore.Qt.AlignRight) end_value.setStyleSheet(end_stylesheet) end_hlayout.addWidget(end_label) end_hlayout.addWidget(end_value) accept_btn = QtWidgets.QPushButton("Accept") layout.addLayout(start_hlayout) layout.addLayout(end_hlayout) layout.addWidget(accept_btn) self.start_value = start_value self.end_value = end_value self.accept = accept_btn self.setLayout(layout) self.make_connections() self._on_init()
def __init__(self, parent=None): super(FrameRangeSetter, self).__init__(parent) self.setWindowTitle("Set Frame Range") self.setFocusPolicy(QtCore.Qt.StrongFocus) self.setAttribute(QtCore.Qt.WA_DeleteOnClose) self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint) asset_menu = QtWidgets.QComboBox() asset_grp = self.make_group(asset_menu, "Asset Name") start_box = QtWidgets.QSpinBox() start_grp = self.make_group(start_box, "Start Frame") end_box = QtWidgets.QSpinBox() end_grp = self.make_group(end_box, "End Frame") handle_box = QtWidgets.QSpinBox() handle_grp = self.make_group(handle_box, "Handles") save_btn = QtWidgets.QPushButton("Save") body = QtWidgets.QVBoxLayout(self) body.addLayout(asset_grp) body.addLayout(start_grp) body.addLayout(end_grp) body.addLayout(handle_grp) body.addWidget(save_btn) asset_menu.currentIndexChanged.connect(self.on_asset_changed) start_box.valueChanged.connect(self.on_value_changed) end_box.valueChanged.connect(self.on_value_changed) handle_box.valueChanged.connect(self.on_value_changed) save_btn.clicked.connect(self.save_range) self.assets = asset_menu self.start = start_box self.end = end_box self.handles = handle_box project = io.find_one({"type": "project"}) self.handles_min = project["data"]["handles"] self.end.setMaximum(self.MAX) self.find_assets()
def setup_ui(self): """Build the initial UI""" MULTI_SELECT = QtWidgets.QAbstractItemView.ExtendedSelection layout = QtWidgets.QVBoxLayout(self) publish = QtWidgets.QCheckBox("Suspend Publish Job") extend_frames = QtWidgets.QCheckBox("Extend Frames") override_frames = QtWidgets.QCheckBox("Override Frames") override_frames.setEnabled(False) defaultlayer = QtWidgets.QCheckBox("Include Default Render Layer") maya_batch_checkbox = QtWidgets.QCheckBox("Use MayaBatch") maya_batch_checkbox.setChecked(True) maya_batch_checkbox.setToolTip( 'This uses the MayaBatch plugin. It keeps the scenes loaded ' 'between frames, which reduces the overhead of rendering the ' 'job.\nIt is however easier to debug a render when turning this ' 'off and render using MayaCmd') # region Priority priority_grp = QtWidgets.QGroupBox("Priority") priority_hlayout = QtWidgets.QHBoxLayout() priority_value = QtWidgets.QSpinBox() priority_value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) priority_value.setEnabled(False) priority_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) priority_slider.setMinimum(0) priority_slider.setMaximum(99) priority_hlayout.addWidget(priority_value) priority_hlayout.addWidget(priority_slider) priority_grp.setLayout(priority_hlayout) # endregion Priority # region ChunkSize chunksize_grp = QtWidgets.QGroupBox("Frames Per Task") chunksize_hlayout = QtWidgets.QHBoxLayout() chunksize_value = QtWidgets.QSpinBox() chunksize_value.setButtonSymbols(QtWidgets.QAbstractSpinBox.NoButtons) chunksize_value.setEnabled(False) chunksize_value.setValue(1) # default value chunksize_value.setMinimum(1) chunksize_value.setMaximum(99) chunksize_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) chunksize_slider.setMinimum(1) chunksize_slider.setMaximum(99) chunksize_hlayout.addWidget(chunksize_value) chunksize_hlayout.addWidget(chunksize_slider) chunksize_grp.setLayout(chunksize_hlayout) # endregion # region pools pools_grp = QtWidgets.QGroupBox("Pools") pools_vlayout = QtWidgets.QVBoxLayout() primary_hlayout = QtWidgets.QHBoxLayout() primary_label = QtWidgets.QLabel("Primary") primary_pool = QtWidgets.QComboBox() primary_hlayout.addWidget(primary_label) primary_hlayout.addWidget(primary_pool) secondary_hlayout = QtWidgets.QHBoxLayout() secondary_label = QtWidgets.QLabel("Secondary") secondary_pool = QtWidgets.QComboBox() secondary_hlayout.addWidget(secondary_label) secondary_hlayout.addWidget(secondary_pool) pools_vlayout.addLayout(primary_hlayout) pools_vlayout.addLayout(secondary_hlayout) pools_grp.setLayout(pools_vlayout) # endregion pools # Group box for type of machine list list_type_grp = QtWidgets.QGroupBox("Machine List Type") list_type_hlayout = QtWidgets.QHBoxLayout() black_list = QtWidgets.QRadioButton("Blacklist") black_list.setChecked(True) black_list.setToolTip("List machines which the job WILL NOT use") white_list = QtWidgets.QRadioButton("Whitelist") white_list.setToolTip("List machines which the job WILL use") list_type_hlayout.addWidget(black_list) list_type_hlayout.addWidget(white_list) list_type_grp.setLayout(list_type_hlayout) # region Machine selection machines_hlayout = QtWidgets.QHBoxLayout() machines_hlayout.setSpacing(2) machine_list = QtWidgets.QListWidget() listed_machines = QtWidgets.QListWidget() # Buttons button_vlayout = QtWidgets.QVBoxLayout() button_vlayout.setAlignment(QtCore.Qt.AlignCenter) button_vlayout.setSpacing(4) add_machine_btn = QtWidgets.QPushButton(">") add_machine_btn.setFixedWidth(25) remove_machine_btn = QtWidgets.QPushButton("<") remove_machine_btn.setFixedWidth(25) button_vlayout.addWidget(add_machine_btn) button_vlayout.addWidget(remove_machine_btn) machines_hlayout.addWidget(machine_list) machines_hlayout.addLayout(button_vlayout) machines_hlayout.addWidget(listed_machines) # Machine selection widget settings machine_list.setSelectionMode(MULTI_SELECT) listed_machines.setSelectionMode(MULTI_SELECT) # endregion accept_btn = QtWidgets.QPushButton("Use Settings") layout.addWidget(defaultlayer) layout.addWidget(publish) layout.addWidget(extend_frames) layout.addWidget(override_frames) layout.addWidget(maya_batch_checkbox) layout.addWidget(priority_grp) layout.addWidget(chunksize_grp) layout.addWidget(pools_grp) layout.addWidget(list_type_grp) layout.addLayout(machines_hlayout) layout.addWidget(accept_btn) # Enable access for all methods self.publish = publish self.extend_frames = extend_frames self.override_frames = override_frames self.defaultlayer = defaultlayer self.priority_value = priority_value self.priority_slider = priority_slider self.chunksize_value = chunksize_value self.chunksize_slider = chunksize_slider self.primary_pool = primary_pool self.secondary_pool = secondary_pool self.black_list = black_list self.white_list = white_list self.machine_list = machine_list self.listed_machines = listed_machines self.add_machine_btn = add_machine_btn self.remove_machine_btn = remove_machine_btn self.use_maya_batch = maya_batch_checkbox self.accept = accept_btn self.setLayout(layout)
def setup_ui(self): """Build the initial UI""" layout = QtWidgets.QVBoxLayout(self) # region executable executable_grp = QtWidgets.QGroupBox("Executable") executable_vlayout = QtWidgets.QVBoxLayout() executable_hlayout = QtWidgets.QHBoxLayout() executable_filename = QtWidgets.QLineEdit() executable_button = QtWidgets.QPushButton() executable_button.setIcon(self.style().standardIcon( getattr(QtWidgets.QStyle, 'SP_DialogOpenButton'))) executable_hlayout.addWidget(executable_filename) executable_hlayout.addWidget(executable_button) executable_vlayout.addLayout(executable_hlayout) executable_grp.setLayout(executable_vlayout) # endregion executable # region options options_grp = QtWidgets.QGroupBox("Options") options_vlayout = QtWidgets.QVBoxLayout() postfix_hlayout = QtWidgets.QHBoxLayout() postfix_label = QtWidgets.QLabel("Postfix") postfix_value = QtWidgets.QLineEdit() postfix_hlayout.addWidget(postfix_label) postfix_hlayout.addWidget(postfix_value) compression_hlayout = QtWidgets.QHBoxLayout() compression_label = QtWidgets.QLabel("Compression") compression_value = QtWidgets.QComboBox() compression_hlayout.addWidget(compression_label) compression_hlayout.addWidget(compression_value) linear_hlayout = QtWidgets.QHBoxLayout() linear_label = QtWidgets.QLabel("Linear Conversion") linear_value = QtWidgets.QComboBox() linear_hlayout.addWidget(linear_label) linear_hlayout.addWidget(linear_value) tilesize_hlayout = QtWidgets.QHBoxLayout() tilesize_label = QtWidgets.QLabel("Tile Size") tilesize_value = QtWidgets.QSpinBox() tilesize_value.setValue(64) tilesize_hlayout.addWidget(tilesize_label) tilesize_hlayout.addWidget(tilesize_value) overwrite_hlayout = QtWidgets.QHBoxLayout() overwrite_label = QtWidgets.QLabel("Overwrite") overwrite_value = QtWidgets.QCheckBox() overwrite_value.setChecked(False) overwrite_hlayout.addWidget(overwrite_label) overwrite_hlayout.addWidget(overwrite_value) preserve_hlayout = QtWidgets.QHBoxLayout() preserve_label = QtWidgets.QLabel("Preserve Color Space ") preserve_value = QtWidgets.QCheckBox() preserve_value.setChecked(True) preserve_hlayout.addWidget(preserve_label) preserve_hlayout.addWidget(preserve_value) preserve_filter_hlayout = QtWidgets.QHBoxLayout() preserve_filter_label = QtWidgets.QLabel("Preserver Filter") preserve_filter_value = QtWidgets.QLineEdit() preserve_filter_hlayout.addWidget(preserve_filter_label) preserve_filter_hlayout.addWidget(preserve_filter_value) options_vlayout.addLayout(postfix_hlayout) options_vlayout.addLayout(compression_hlayout) options_vlayout.addLayout(linear_hlayout) options_vlayout.addLayout(tilesize_hlayout) options_vlayout.addLayout(overwrite_hlayout) options_vlayout.addLayout(preserve_hlayout) options_vlayout.addLayout(preserve_filter_hlayout) options_grp.setLayout(options_vlayout) # endregion options # Group box for type of machine list list_type_grp = QtWidgets.QGroupBox("File Texture Nodes") list_type_hlayout = QtWidgets.QVBoxLayout() refresh_button = QtWidgets.QPushButton("Refresh") refresh_button.setToolTip("Refresh texture lists") refresh_button.setIcon(self.style().standardIcon( getattr(QtWidgets.QStyle, 'SP_BrowserReload'))) # region file node list file_node_hlayout = QtWidgets.QVBoxLayout() file_node_hlayout.setSpacing(2) file_node_list = QtWidgets.QListView() file_node_list.setAlternatingRowColors(True) file_node_list.setSelectionBehavior( QtWidgets.QAbstractItemView.SelectRows) file_node_list.setSelectionMode( QtWidgets.QAbstractItemView.MultiSelection) # endregion # conversion buttons button_vlayout = QtWidgets.QHBoxLayout() button_vlayout.setAlignment(QtCore.Qt.AlignCenter) button_vlayout.setSpacing(4) convert_button = QtWidgets.QPushButton("Convert") exr_button = QtWidgets.QPushButton("Show EXR") source_button = QtWidgets.QPushButton("Show Source") set_source_button = QtWidgets.QPushButton("Set new source") set_source_button.setDisabled(True) button_vlayout.addWidget(convert_button) button_vlayout.addWidget(exr_button) button_vlayout.addWidget(source_button) button_vlayout.addWidget(set_source_button) file_node_hlayout.addWidget(file_node_list) file_node_hlayout.addLayout(button_vlayout) list_type_hlayout.addWidget(refresh_button) list_type_hlayout.addLayout(file_node_hlayout) list_type_grp.setLayout(list_type_hlayout) layout.addWidget(executable_grp) layout.addWidget(options_grp) layout.addWidget(list_type_grp) layout.addLayout(file_node_hlayout) # Enable access for all methods self.file_node_list = file_node_list self.postfix_value = postfix_value self.compression_value = compression_value self.linear_value = linear_value self.tilesize_value = tilesize_value self.executable_filename = executable_filename self.exr_button = exr_button self.source_button = source_button self.convert_button = convert_button self.refresh_button = refresh_button self.overwritevalue = overwrite_value self.preserve_value = preserve_value self.preserve_filter_value = preserve_filter_value self.setLayout(layout)
def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) self.setWindowTitle("Replicate Houdini Asset (particles)") self.setWindowFlags(QtCore.Qt.Window) self.setParent(parent) self.resize(280, 280) layout = QtWidgets.QVBoxLayout() input_box = QtWidgets.QGroupBox("Input") input_box.setStyleSheet("{color: red}") input_vboxlayout = QtWidgets.QVBoxLayout() from_selection = QtWidgets.QCheckBox("Selected") from_selection.setChecked(True) name_hlayout = QtWidgets.QHBoxLayout() name_label = QtWidgets.QLabel("Name") name_field = QtWidgets.QLineEdit() name_hlayout.addWidget(name_label) name_hlayout.addWidget(name_field) input_box.setLayout(input_vboxlayout) input_vboxlayout.addWidget(from_selection) input_vboxlayout.addLayout(name_hlayout) time_box = QtWidgets.QGroupBox("Time") time_hlayout = QtWidgets.QHBoxLayout() time_start_vbox = QtWidgets.QVBoxLayout() time_start_label = QtWidgets.QLabel("Start") time_start = QtWidgets.QSpinBox() time_start_vbox.addWidget(time_start_label) time_start_vbox.addWidget(time_start) time_end_vbox = QtWidgets.QVBoxLayout() time_end_label = QtWidgets.QLabel("End") time_end = QtWidgets.QSpinBox() time_end_vbox.addWidget(time_end_label) time_end_vbox.addWidget(time_end) time_hlayout.addLayout(time_start_vbox) time_hlayout.addLayout(time_end_vbox) time_box.setLayout(time_hlayout) mapping_box = QtWidgets.QGroupBox("Attribute mapping") mapping_layout = QtWidgets.QVBoxLayout() mapping_box.setLayout(mapping_layout) button_vlayout = QtWidgets.QVBoxLayout() replicate = QtWidgets.QPushButton("Replicate") update_hlayout = QtWidgets.QHBoxLayout() update_all_button = QtWidgets.QPushButton("Update All") update_selected_button = QtWidgets.QPushButton("Update Selected") update_hlayout.addWidget(update_all_button) update_hlayout.addWidget(update_selected_button) refresh_button = QtWidgets.QPushButton("Refresh") button_vlayout.addWidget(replicate) button_vlayout.addLayout(update_hlayout) button_vlayout.addWidget(refresh_button) layout.addWidget(input_box) # layout.addWidget(time_box) layout.addWidget(mapping_box) layout.addLayout(button_vlayout) # Open up items for code self._selection = [] self.mapping_data = {} self.from_selection = from_selection self.name_field = name_field self.time_start = time_start self.time_end = time_end self.mapping_layout = mapping_layout self.replicate_button = replicate self.update_all_button = update_all_button self.update_selected_button = update_selected_button self.refesh_button = refresh_button self.setLayout(layout) layout.addStretch(True) self.get_settings() self.connections()