def create_ui(self): self.dialog = QtGui.QDialog() self.dialog.setWindowTitle('Select Item Type') self.dialog.setMinimumWidth(300) self.dialog.setMinimumHeight(100) self.dialog.setWindowFlags(QtCore.Qt.CustomizeWindowHint | QtCore.Qt.WindowTitleHint) self.dialog.keyPressEvent = self.key_press_event main_layout = QtGui.QVBoxLayout(self.dialog) qtwidgets = sgtk.platform.framework.load_framework( self.engine, self.engine.context, self.engine.env, "tk-framework-qtwidgets_v2.x.x") elided_label = qtwidgets.import_module("elided_label") path_label = elided_label.ElidedLabel() path_label.setText("File Name: {}".format(self.path)) main_layout.addWidget(path_label) # create list widget with items self.items_list_widget = QtGui.QListWidget() self.items_list_widget.addItems(self.item_types) main_layout.addWidget(self.items_list_widget) # select first item self.items_list_widget.setCurrentRow(0) # create "OK" button ok_button = QtGui.QPushButton("OK") ok_button.clicked.connect(self.get_selected_item) main_layout.addWidget(ok_button) self.dialog.exec_()
def __init__(self, parent): super(EnvImporter, self).__init__(parent) self.state = { 'projects': None, 'project': None, 'environments': None, 'environment': None, } # Can't get this search widget to work right... # search = sgtk.platform.import_framework( # "tk-framework-qtwidgets", # "shotgun_search_widget", # ) # self.project_search = search.GlobalSearchWidget(self) # self.project_search.set_searchable_entity_types({'Project': []}) # self.project_search.set_placeholder_text('Search for Project') # self.project_search.entity_activated.connect(self.on_entity_activated) # Create widgets self.project_search = QtGui.QComboBox() self.env_list = QtGui.QComboBox() self.engine = QtGui.QLineEdit() self.engine.setReadOnly(True) self.engine.setFocusPolicy(QtCore.Qt.NoFocus) self.req_list = QtGui.QListWidget() self.import_button = QtGui.QPushButton('Import') self.cancel_button = QtGui.QPushButton('Cancel') # Layout widgets button_layout = QtGui.QHBoxLayout() button_layout.addWidget(self.import_button) button_layout.addWidget(self.cancel_button) layout = QtGui.QVBoxLayout() layout.addWidget(QtGui.QLabel('Project')) layout.addWidget(self.project_search) layout.addWidget(QtGui.QLabel('Environment')) layout.addWidget(self.env_list) layout.addWidget(QtGui.QLabel('Engine')) layout.addWidget(self.engine) layout.addWidget(QtGui.QLabel('Requires')) layout.addWidget(self.req_list) layout.addLayout(button_layout) self.setLayout(layout) # Connect widgets self.project_search.activated.connect(self.on_project_changed) self.env_list.activated.connect(self.on_env_changed) self.import_button.clicked.connect(self.on_import_clicked) self.cancel_button.clicked.connect(self.on_cancel_clicked) self.setWindowTitle('Import Environments') self.setWindowIcon(QtGui.QIcon(res.get_path('icon_dark_256.png'))) self.update_projects()
def __init__(self): super(AppDialog, self).__init__() self.resize(800, 800) logger.info('Launching Asset Rename Filter...') self.worker = Worker() self.worker.trigger.connect(self.queryAssets) self.setWindowFlags(QtCore.Qt.Window) self.mainLayout = QtGui.QVBoxLayout(self) self.mainLayout.setContentsMargins(20, 5, 20, 20) self.mainLayout.setSpacing(0) self.listwidget = QtGui.QListWidget() self.listwidget.setObjectName(u'listWidget') self.listwidget.setSpacing(4) self.queryButton = QtGui.QPushButton('Query') self.queryButton.clicked.connect(self.startWorker) self.mainLayout.addWidget(self.queryButton) self.mainLayout.addWidget(self.listwidget)
def setupUi(self, BrowserForm): BrowserForm.setObjectName("BrowserForm") BrowserForm.resize(984, 751) self.horizontalLayout = QtGui.QHBoxLayout(BrowserForm) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.splitter = QtGui.QSplitter(BrowserForm) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName("splitter") self.vertical_splitter = QtGui.QSplitter(self.splitter) self.vertical_splitter.setOrientation(QtCore.Qt.Vertical) self.vertical_splitter.setObjectName("vertical_splitter") self.task_browser_tabs = QtGui.QTabWidget(self.vertical_splitter) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(1) sizePolicy.setHeightForWidth(self.task_browser_tabs.sizePolicy().hasHeightForWidth()) self.task_browser_tabs.setSizePolicy(sizePolicy) self.task_browser_tabs.setMinimumSize(QtCore.QSize(200, 0)) self.task_browser_tabs.setObjectName("task_browser_tabs") self.step_filters_frame = QtGui.QFrame(self.vertical_splitter) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.step_filters_frame.sizePolicy().hasHeightForWidth()) self.step_filters_frame.setSizePolicy(sizePolicy) self.step_filters_frame.setMinimumSize(QtCore.QSize(0, 0)) self.step_filters_frame.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.step_filters_frame.setObjectName("step_filters_frame") self.verticalLayout = QtGui.QVBoxLayout(self.step_filters_frame) self.verticalLayout.setSpacing(2) self.verticalLayout.setContentsMargins(2, 2, 2, 2) self.verticalLayout.setObjectName("verticalLayout") self.step_filter_label = QtGui.QLabel(self.step_filters_frame) self.step_filter_label.setAlignment(QtCore.Qt.AlignCenter) self.step_filter_label.setObjectName("step_filter_label") self.verticalLayout.addWidget(self.step_filter_label) self.step_filter_list_widget = QtGui.QListWidget(self.step_filters_frame) self.step_filter_list_widget.setObjectName("step_filter_list_widget") self.verticalLayout.addWidget(self.step_filter_list_widget) self.horizontalLayout_2 = QtGui.QHBoxLayout() self.horizontalLayout_2.setSpacing(4) self.horizontalLayout_2.setContentsMargins(2, 2, 2, 2) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.select_all_step_button = QtGui.QPushButton(self.step_filters_frame) self.select_all_step_button.setFlat(False) self.select_all_step_button.setObjectName("select_all_step_button") self.horizontalLayout_2.addWidget(self.select_all_step_button) self.select_none_step_button = QtGui.QPushButton(self.step_filters_frame) self.select_none_step_button.setFlat(False) self.select_none_step_button.setObjectName("select_none_step_button") self.horizontalLayout_2.addWidget(self.select_none_step_button) self.verticalLayout.addLayout(self.horizontalLayout_2) self.verticalLayout.setStretch(1, 1) self.file_browser_tabs = QtGui.QTabWidget(self.splitter) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(1) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.file_browser_tabs.sizePolicy().hasHeightForWidth()) self.file_browser_tabs.setSizePolicy(sizePolicy) self.file_browser_tabs.setObjectName("file_browser_tabs") self.horizontalLayout.addWidget(self.splitter) self.retranslateUi(BrowserForm) self.file_browser_tabs.setCurrentIndex(-1) QtCore.QMetaObject.connectSlotsByName(BrowserForm)
def _populate_ui(self): # --- query some data # query the full site schema from shotgun self._schema = self._app.shotgun.schema_read() # --- build the ui components select_lbl = QtGui.QLabel("Select an Entity type from the list:") # populate a combo box with all the entity types (the keys) self._entity_type_combo = QtGui.QComboBox(self) self._entity_type_combo.addItems(sorted(self._schema.keys())) field_lbl = QtGui.QLabel("Select a Field name from the list:") self._field_name_combo = QtGui.QComboBox(self) self._field_name_combo.setSizeAdjustPolicy( QtGui.QComboBox.AdjustToContents) # get_type_display_name type_display_lbl = MethodLabel("get_type_display_name():") self._type_display_lbl = ValueLabel() # get_field_display_name field_display_lbl = MethodLabel("get_field_display_name():") self._field_display_lbl = ValueLabel() # get_empty_phrase empty_phrase_lbl = MethodLabel("get_empty_phrase():") self._empty_phrase_lbl = ValueLabel() # get_entity_type_icon entity_type_icon = MethodLabel("get_entity_type_icon():") self._entity_type_icon = ValueLabel() # get_entity_type_icon_url entity_type_icon_url = MethodLabel("get_entity_type_icon_url():") self._entity_type_icon_url = ValueLabel() # get_valid_values valid_values_lbl = MethodLabel("get_valid_values():") self._valid_values_list = QtGui.QListWidget() self._valid_values_list.setMaximumHeight(100) # field_is_editable field_is_editable_lbl = MethodLabel("field_is_editable():") self._field_is_editable_lbl = ValueLabel() # field_is_visible field_is_visible_lbl = MethodLabel("field_is_visible():") self._field_is_visible_lbl = ValueLabel() # --- layout the components row = 0 layout = QtGui.QGridLayout(self) layout.addWidget(select_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_combo, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(type_display_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._type_display_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(entity_type_icon, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_icon, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(entity_type_icon_url, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._entity_type_icon_url, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_name_combo, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_display_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_display_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(empty_phrase_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._empty_phrase_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(valid_values_lbl, row, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop) layout.addWidget(self._valid_values_list, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_is_editable_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_is_editable_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 layout.addWidget(field_is_visible_lbl, row, 0, QtCore.Qt.AlignRight) layout.addWidget(self._field_is_visible_lbl, row, 1, QtCore.Qt.AlignLeft) row += 1 # ---- connect some signals # handle entity type changes self._entity_type_combo.activated[str].connect( self._on_entity_type_combo_activated) # handle field name changes self._field_name_combo.activated[str].connect( self._on_field_name_combo_activated) # ---- populate the defaults # entity entity_type_index = self._entity_type_combo.findText( DEFAULT_ENTITY_TYPE) if entity_type_index > -1: self._entity_type_combo.setCurrentIndex(entity_type_index) self._on_entity_type_combo_activated(DEFAULT_ENTITY_TYPE) # field field_name_index = self._field_name_combo.findText(DEFAULT_FIELD_NAME) if field_name_index > -1: self._field_name_combo.setCurrentIndex(field_name_index) self._on_field_name_combo_activated(DEFAULT_FIELD_NAME)