def ui(self): super(SliderPanelExample, self).ui() add_icon = tpDcc.ResourcesMgr().icon('add', color=QColor(125, 0, 0)) self._button_grp = group.RadioButtonGroup() self._button_grp.set_button_list( ['top', { 'text': 'right', 'checked': True }, 'bottom', 'left']) self._open_btn_2 = buttons.BaseButton('Open', parent=self).tiny() lyt = layouts.HorizontalLayout() lyt.addWidget(self._button_grp) lyt.addSpacing(20) lyt.addWidget(self._open_btn_2) lyt.addStretch() self._new_account_btn = buttons.BaseButton(text='New account', icon=add_icon).primary() lyt1 = layouts.HorizontalLayout() lyt1.addWidget(label.BaseLabel('Submit form in drawer')) lyt1.addWidget(self._new_account_btn) lyt1.addStretch() self.main_layout.addWidget(dividers.Divider('Custom Placement')) self.main_layout.addLayout(lyt) self.main_layout.addWidget(dividers.Divider('Submit form in drawer')) self.main_layout.addLayout(lyt1)
def ui(self): super(SlidersExample, self).ui() slider1 = sliders.BaseSlider(orientation=Qt.Horizontal) slider1.setRange(1, 100) slider2 = sliders.BaseSlider(orientation=Qt.Vertical) slider2.setRange(1, 100) lyt3 = layouts.HorizontalLayout() spin_box = spinbox.BaseSpinBox() spin_box.setRange(1, 100) btn_grp = group.PushButtonGroup() btn_grp.set_button_list([{ 'text': '+', 'clicked': partial(self._on_change_value, 10) }, { 'text': '-', 'clicked': partial(self._on_change_value, -10) }]) lyt3.addWidget(spin_box) lyt3.addWidget(btn_grp) lyt3.addStretch() self.register_field('percent', 20) self.bind('percent', spin_box, 'value', signal='valueChanged') self.bind('percent', slider1, 'value') self.bind('percent', slider2, 'value') self.main_layout.addWidget(dividers.Divider('different orientation')) self.main_layout.addWidget(slider1) self.main_layout.addWidget(slider2) self.main_layout.addWidget(dividers.Divider('data bind')) self.main_layout.addLayout(lyt3)
def ui(self): super(FallofCurveWidget, self).ui() base_rect = QRect(0, 0, self._base_size, self._base_size) self._scene = CurveNodeScene(base_rect) self._scene.base_size = self._base_size self._view = CurveNodeView(parent=self) self._view.setScene(self._scene) self._view.setGeometry(base_rect) self._menu_bar = QMenuBar(self) self._menu_bar.addAction(self._scene.undo_action) self._menu_bar.addAction(self._scene.redo_action) bottom_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2)) self._bezier_type_combo = combobox.BaseComboBox(parent=self) self._snap_cbx = checkbox.BaseCheckBox('Snap', parent=self) bottom_layout.addWidget(self._bezier_type_combo) bottom_layout.addWidget(self._snap_cbx) self.main_layout.addWidget(self._menu_bar) self.main_layout.addWidget(dividers.Divider(parent=self)) self.main_layout.addWidget(self._view) self.main_layout.addWidget(dividers.Divider(parent=self)) self.main_layout.addLayout(bottom_layout)
def ui(self): super(LineTabExample, self).ui() tab_center = tabs.MenuLineTabWidget() tab_center.add_tab(label.BaseLabel('test 1 ' * 10), {'text': u'Tab 1', 'image': 'user'}) tab_center.add_tab(label.BaseLabel('test 2 ' * 10), {'image': 'calendar'}) tab_center.add_tab(label.BaseLabel('test 3 ' * 10), u'Tab 3') tab_center.tool_button_group.theme_checked = False tab_left = tabs.MenuLineTabWidget(alignment=Qt.AlignLeft) tab_left.add_tab(label.BaseLabel('test 1 ' * 10), u'Tab 1') tab_left.add_tab(label.BaseLabel('test 2 ' * 10), u'Tab 2') tab_left.add_tab(label.BaseLabel('test 3 ' * 10), u'Tab 3') tab_left.tool_button_group.theme_checked = False tab_right = tabs.MenuLineTabWidget(alignment=Qt.AlignRight) tab_right.add_tab(label.BaseLabel('test 1 ' * 10), u'Tab 1') tab_right.add_tab(label.BaseLabel('test 2 ' * 10), u'Tab 2') tab_right.add_tab(label.BaseLabel('test 3 ' * 10), u'Tab 3') tab_right.tool_button_group.theme_checked = False self.main_layout.addWidget(dividers.Divider('Center')) self.main_layout.addWidget(tab_center) self.main_layout.addSpacing(20) self.main_layout.addWidget(dividers.Divider('Left')) self.main_layout.addWidget(tab_left) self.main_layout.addSpacing(20) self.main_layout.addWidget(dividers.Divider('Right')) self.main_layout.addWidget(tab_right) self.main_layout.addStretch()
def ui(self): super(JointsLabelDialog, self).ui() name_label = label.BaseLabel('Specify label sides', parent=self) left_side_label = label.BaseLabel('Left Side: ', parent=self) self._left_side_line = lineedit.BaseLineEdit(parent=self) right_side_label = label.BaseLabel('Right Side: ', parent=self) self._right_side_line = lineedit.BaseLineEdit(parent=self) info_widget = message.BaseMessage( 'You can disable auto joint label in tool\n button options (right click on it', parent=self).info() grid_layout = layouts.GridLayout() grid_layout.addWidget(name_label, 0, 0, 1, 2) grid_layout.addWidget(left_side_label, 1, 0, Qt.AlignRight) grid_layout.addWidget(self._left_side_line, 1, 1) grid_layout.addWidget(right_side_label, 2, 0, Qt.AlignRight) grid_layout.addWidget(self._right_side_line, 2, 1) self._button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) self.main_layout.addLayout(grid_layout) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(self._button_box) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(info_widget)
def ui(self): super(LineEditExample, self).ui() size_lyt = layouts.HorizontalLayout() line_edit_small = lineedit.BaseLineEdit().small() line_edit_small.setPlaceholderText('small size') line_edit_medium = lineedit.BaseLineEdit().medium() line_edit_medium.setPlaceholderText('default size') line_edit_large = lineedit.BaseLineEdit().large() line_edit_large.setPlaceholderText('large size') size_lyt.addWidget(line_edit_small) size_lyt.addWidget(line_edit_medium) size_lyt.addWidget(line_edit_large) line_edit_tool_btn = lineedit.BaseLineEdit(text='BaseToolButton') line_edit_tool_btn.set_prefix_widget( buttons.BaseToolButton().image('user').icon_only()) line_edit_label = lineedit.BaseLineEdit(text='BaseLabel') line_lbl = label.BaseLabel('User').mark().secondary() line_lbl.setAlignment(Qt.AlignCenter) line_lbl.setFixedWidth(80) line_edit_label.set_prefix_widget(line_lbl) line_edit_btn = lineedit.BaseLineEdit('BaseButton') push_btn = buttons.BaseButton('Go').primary() line_edit_btn.set_suffix_widget(push_btn) search_engine_line = lineedit.BaseLineEdit().search_engine().large() search_engine_line.returnPressed.connect(self._on_search) line_edit_options = lineedit.BaseLineEdit() combo_box = combobox.BaseComboBox() option_menu = menu.BaseMenu() option_menu.set_separator('|') option_menu.set_data([r'http://', r'https://']) combo_box.set_menu(option_menu) combo_box.set_value('http://') combo_box.setFixedWidth(90) line_edit_options.set_prefix_widget(combo_box) self.main_layout.addWidget(dividers.Divider('different size')) self.main_layout.addLayout(size_lyt) self.main_layout.addWidget( dividers.Divider('custom prefix and suffix widget')) self.main_layout.addWidget(line_edit_tool_btn) self.main_layout.addWidget(line_edit_label) self.main_layout.addWidget(line_edit_btn) self.main_layout.addWidget(dividers.Divider('preset')) self.main_layout.addWidget(label.BaseLabel('error')) self.main_layout.addWidget( lineedit.BaseLineEdit( 'waring: file d:/ddd/ccc.jpg not exists.').error()) self.main_layout.addWidget(label.BaseLabel('search')) self.main_layout.addWidget(lineedit.BaseLineEdit().search().small()) self.main_layout.addWidget(label.BaseLabel('search engine')) self.main_layout.addWidget(search_engine_line) self.main_layout.addWidget(label.BaseLabel('file')) self.main_layout.addWidget(lineedit.BaseLineEdit().file().small()) self.main_layout.addWidget(label.BaseLabel('folder')) self.main_layout.addWidget(lineedit.BaseLineEdit().folder().small()) self.main_layout.addWidget(label.BaseLabel('options')) self.main_layout.addWidget(line_edit_options) self.main_layout.addStretch()
def ui(self): super(LoadingExample, self).ui() size_lyt = layouts.HorizontalLayout() size_list = [('Tiny', loading.CircleLoading.tiny), ('Small', loading.CircleLoading.small), ('Medium', loading.CircleLoading.medium), ('Large', loading.CircleLoading.large), ('Huge', loading.CircleLoading.huge)] for lbl, load_widget in size_list: size_lyt.addWidget(label.BaseLabel(lbl)) size_lyt.addWidget(load_widget(parent=self)) size_lyt.addSpacing(10) color_lyt = layouts.HorizontalLayout() color_list = [ ('cyan', '#13c2c2'), ('green', '#52c41a'), ('magenta', '#eb2f96'), ('red', '#f5222d'), ('yellow', '#fadb14'), ('volcano', '#fa541c'), ] for lbl, load_color in color_list: color_lyt.addWidget(label.BaseLabel(lbl)) color_lyt.addWidget( loading.CircleLoading(color=load_color, parent=self)) color_lyt.addSpacing(10) self.main_layout.addWidget(dividers.Divider('different size')) self.main_layout.addLayout(size_lyt) self.main_layout.addWidget(dividers.Divider('different color')) self.main_layout.addLayout(color_lyt)
def ui(self): super(ToastExample, self).ui() btn1 = buttons.BaseButton('Normal Message').primary() btn2 = buttons.BaseButton('Success Message').success() btn3 = buttons.BaseButton('Warning Message').warning() btn4 = buttons.BaseButton('Error Message').danger() btn1.clicked.connect( partial(self._on_show_toast, toast.BaseToast.info, {'text': 'Normal'})) btn2.clicked.connect( partial(self._on_show_toast, toast.BaseToast.success, {'text': 'Success'})) btn3.clicked.connect( partial(self._on_show_toast, toast.BaseToast.warning, {'text': 'Warning'})) btn4.clicked.connect( partial(self._on_show_toast, toast.BaseToast.error, {'text': 'Error'})) sub_lyt1 = layouts.HorizontalLayout() sub_lyt1.addWidget(btn1) sub_lyt1.addWidget(btn2) sub_lyt1.addWidget(btn3) sub_lyt1.addWidget(btn4) loading_btn = buttons.BaseButton('Loading Toast').primary() loading_btn.clicked.connect(self._on_show_loading_toast) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_lyt1) self.main_layout.addWidget(dividers.Divider('loading')) self.main_layout.addWidget(loading_btn) self.main_layout.addStretch()
def ui(self): super(MessageExample, self).ui() self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addWidget( message.BaseMessage(text='Information message', parent=self).info()) self.main_layout.addWidget( message.BaseMessage(text='Success message', parent=self).success()) self.main_layout.addWidget( message.BaseMessage(text='Warning message', parent=self).warning()) self.main_layout.addWidget( message.BaseMessage(text='Error message', parent=self).error()) self.main_layout.addWidget(dividers.Divider('closable')) self.main_layout.addWidget( message.BaseMessage(text='Closable message', parent=self).closable()) self.main_layout.addWidget(dividers.Divider('data bind')) data_bind_msg = message.BaseMessage(parent=self) data_bind_msg.set_closable(True) self.register_field('msg', '') self.register_field('msg_type', message.MessageTypes.INFO) self.bind('msg', data_bind_msg, 'text') self.bind('msg_type', data_bind_msg, 'theme_type') button_grp = group.PushButtonGroup() button_grp.set_button_list([ { 'text': 'error', 'clicked': partial(self._on_change_msg, 'password is wrong', message.MessageTypes.ERROR) }, { 'text': 'success', 'clicked': partial(self._on_change_msg, 'Login success', message.MessageTypes.SUCCESS) }, { 'text': 'no more error', 'clicked': partial(self._on_change_msg, '', message.MessageTypes.ERROR) }, ]) self.main_layout.addWidget(button_grp) self.main_layout.addWidget(data_bind_msg) self.main_layout.addStretch()
def ui(self): super(BadgeExample, self).ui() avatar_pixmap = tpDcc.ResourcesMgr().pixmap('user') standalone_lyt = layouts.HorizontalLayout() standalone_lyt.addWidget(badge.Badge.create_count(0, parent=self)) standalone_lyt.addWidget(badge.Badge.create_count(20, parent=self)) standalone_lyt.addWidget(badge.Badge.create_count(100, parent=self)) standalone_lyt.addWidget(badge.Badge.create_dot(True, parent=self)) standalone_lyt.addWidget(badge.Badge.create_text('new', parent=self)) standalone_lyt.addStretch() btn = buttons.BaseToolButton().image('trash') new_avatar = avatar.Avatar.large(avatar_pixmap) btn_alert = buttons.BaseToolButton().image('notification').large() badge1 = badge.Badge.create_dot(True, widget=btn, parent=self) badge2 = badge.Badge.create_dot(True, widget=new_avatar, parent=self) self._badge3 = badge.Badge.create_dot(True, widget=btn_alert, parent=self) btn.clicked.connect(lambda: badge1._set_dot(False)) spin_box = spinbox.BaseSpinBox() spin_box.setRange(0, 9999) spin_box.valueChanged.connect(self._on_set_count) spin_box.setValue(1) self.register_field('button1_selected', 'A') menu1 = menu.BaseMenu() menu1.set_data(['A', 'B', 'C', 'D']) select1 = combobox.BaseComboBox() select1.set_menu(menu1) self.bind('button1_selected', select1, 'value', signal='valueChanged') badge_hot = badge.Badge.create_text('hot', widget=label.BaseLabel('Hello Badge '), parent=self) sub_lyt1 = layouts.HorizontalLayout() sub_lyt1.addWidget(badge1) sub_lyt1.addWidget(badge2) sub_lyt1.addWidget(self._badge3) sub_lyt1.addStretch() sub_lyt2 = layouts.HorizontalLayout() sub_lyt2.addWidget(badge_hot) sub_lyt2.addWidget(select1) sub_lyt2.addStretch() self.main_layout.addWidget(dividers.Divider('use standalone')) self.main_layout.addLayout(standalone_lyt) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_lyt1) self.main_layout.addWidget(spin_box) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_lyt2) self.main_layout.addStretch()
def ui(self): super(BaseSaveWidget, self).ui() title_layout = layouts.HorizontalLayout() title_layout.setContentsMargins(2, 2, 0, 0) title_layout.setSpacing(2) self._icon_lbl = QLabel() self._icon_lbl.setMaximumSize(QSize(14, 14)) self._icon_lbl.setMinimumSize(QSize(14, 14)) self._icon_lbl.setScaledContents(True) self._title_lbl = QLabel() title_layout.addWidget(self._icon_lbl) title_layout.addWidget(self._title_lbl) self._folder_widget = directory.SelectFolder('Folder', use_app_browser=True) buttons_layout = layouts.HorizontalLayout() buttons_layout.setContentsMargins(4, 4, 4, 4) buttons_layout.setSpacing(4) buttons_frame = QFrame() buttons_frame.setFrameShape(QFrame.NoFrame) buttons_frame.setFrameShadow(QFrame.Plain) buttons_frame.setLayout(buttons_layout) buttons_layout.addStretch() self.save_btn = buttons.BaseButton('Save') self.cancel_btn = buttons.BaseButton('Cancel') buttons_layout.addWidget(self.save_btn, parent=self) buttons_layout.addWidget(self.cancel_btn, parent=self) buttons_layout.addStretch() self._options_layout = layouts.VerticalLayout() self._options_layout.setContentsMargins(0, 0, 0, 0) self._options_layout.setSpacing(2) self._options_frame = QFrame() self._options_frame.setFrameShape(QFrame.NoFrame) self._options_frame.setFrameShadow(QFrame.Plain) self._options_frame.setLineWidth(0) self._options_frame.setLayout(self._options_layout) self._extra_layout = layouts.VerticalLayout() self._extra_layout.setContentsMargins(0, 0, 0, 0) self._extra_layout.setSpacing(2) self.main_layout.addLayout(title_layout) self.main_layout.addWidget(self._folder_widget) self._extra_layout.addWidget(self._options_frame) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addLayout(self._extra_layout) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(buttons_frame)
def ui(self): super(PageExample, self).ui() page1 = page.Page() page1.set_total(255) page2 = page.Page() page2.set_total(100) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(page1) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(page2) self.main_layout.addStretch()
def ui(self): super(SpinBoxExample, self).ui() class_list = [ spinbox.BaseSpinBox, spinbox.BaseDoubleSpinBox, datetime.BaseDateTimeEdit, datetime.BaseDateEdit, datetime.BaseTimeEdit ] for cls in class_list: self.main_layout.addWidget(dividers.Divider(cls.__name__)) lyt = layouts.HorizontalLayout() lyt.addWidget(cls().small()) lyt.addWidget(cls().medium()) lyt.addWidget(cls().large()) self.main_layout.addLayout(lyt) extra_spinners_lyt1 = layouts.HorizontalLayout() spn1 = spinbox.BaseSpinBoxNumber(parent=self) spn2 = spinbox.BaseDoubleNumberSpinBox(parent=self) extra_spinners_lyt2 = layouts.HorizontalLayout() spn3 = spinbox.DragDoubleSpinBox(parent=self) spn4 = spinbox.DragDoubleSpinBoxLine(parent=self) extra_spinners_lyt1.addWidget(spn1) extra_spinners_lyt1.addWidget(spn2) extra_spinners_lyt2.addWidget(spn3) extra_spinners_lyt2.addWidget(spn4) self.main_layout.addWidget(dividers.Divider('Extra Base')) self.main_layout.addLayout(extra_spinners_lyt1) self.main_layout.addWidget(dividers.Divider('Draggable')) self.main_layout.addLayout(extra_spinners_lyt2) self.main_layout.addWidget(dividers.Divider('Pop calendar widget')) date_time_edit = datetime.BaseDateTimeEdit() date_time_edit.setCalendarPopup(True) date_edit = datetime.BaseDateEdit() date_edit.setCalendarPopup(True) time_edit = datetime.BaseTimeEdit() time_edit.setCalendarPopup(True) date_lyt = layouts.HorizontalLayout() date_lyt.addWidget(date_time_edit) date_lyt.addWidget(time_edit) date_lyt.addWidget(date_edit) self.main_layout.addLayout(date_lyt) self.main_layout.addStretch()
def ui(self): super(RadioButtonExample, self).ui() folder_icon = tpDcc.ResourcesMgr().icon('folder') play_icon = tpDcc.ResourcesMgr().icon('play') user_icon = tpDcc.ResourcesMgr().icon('user') lyt1 = layouts.HorizontalLayout() lyt1.addWidget(buttons.BaseRadioButton('Maya')) lyt1.addWidget(buttons.BaseRadioButton('Nuke')) lyt1.addWidget(buttons.BaseRadioButton('Houdini')) cbx_single = buttons.BaseRadioButton('Single') cbx_single.setChecked(True) cbx_single.setEnabled(False) lyt2 = layouts.HorizontalLayout() cbx_icon1 = buttons.BaseRadioButton('Folder') cbx_icon1.setIcon(folder_icon) cbx_icon2 = buttons.BaseRadioButton('Play') cbx_icon2.setIcon(play_icon) cbx_icon3 = buttons.BaseRadioButton('User') cbx_icon3.setIcon(user_icon) lyt2.addWidget(cbx_icon1) lyt2.addWidget(cbx_icon2) lyt2.addWidget(cbx_icon3) cbx_bind = buttons.BaseRadioButton('Data Bind') lbl = label.BaseLabel() btn = buttons.BaseButton(text='Change State') btn.clicked.connect( lambda: self.set_field('checked', not self.field('checked'))) self.register_field('checked', True) self.register_field('checked_text', lambda: 'Yes!' if self.field('checked') else 'No!') self.bind('checked', cbx_bind, 'checked', signal='toggled') self.bind('checked_text', lbl, 'text') self.main_layout.addWidget(dividers.Divider('Basic')) self.main_layout.addLayout(lyt1) self.main_layout.addWidget(cbx_single) self.main_layout.addWidget(dividers.Divider('Icon')) self.main_layout.addLayout(lyt2) self.main_layout.addWidget(dividers.Divider('Data Bind')) self.main_layout.addWidget(cbx_bind) self.main_layout.addWidget(lbl) self.main_layout.addWidget(btn) self.main_layout.addStretch()
def ui(self): super(OpenProjectWidget, self).ui() self._search_widget = search.SearchFindWidget() self._search_widget.set_placeholder_text('Filter Projects ...') self._projects_list = ProjectViewer(project_class=self._project_class) self._projects_list.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) buttons_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0)) buttons_layout.setAlignment(Qt.AlignCenter) buttons_layout1 = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0)) buttons_layout1.setAlignment(Qt.AlignLeft) self._browse_widget = directory.SelectFolder( label_text='Projects Path', use_app_browser=True, use_icon=True) buttons_layout1.addWidget(self._browse_widget) buttons_layout.addLayout(buttons_layout1) self.main_layout.addWidget(self._search_widget) self.main_layout.addWidget( dividers.Divider('PROJECTS', alignment=Qt.AlignCenter)) self.main_layout.addWidget(self._projects_list) self.main_layout.addLayout(buttons_layout)
def __init__(self, *args, **kwargs): super(SeparatorFieldWidget, self).__init__(*args, **kwargs) widget = dividers.Divider() widget.setObjectName('widget') widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred) self.set_widget(widget) if not self.data().get('title'): self.label().hide()
def ui(self): super(CheckBoxExample, self).ui() maya_icon = tpDcc.ResourcesMgr().icon('maya') nuke_icon = tpDcc.ResourcesMgr().icon('nuke') houdini_icon = tpDcc.ResourcesMgr().icon('houdini') grid_lyt = layouts.GridLayout() for index, (text, state) in enumerate( [('Unchecked', Qt.Unchecked), ('Checked', Qt.Checked), ('Partially', Qt.PartiallyChecked)]): normal_cbx = checkbox.BaseCheckBox(text) normal_cbx.setCheckState(state) disabled_cbx = checkbox.BaseCheckBox(text) disabled_cbx.setCheckState(state) disabled_cbx.setEnabled(False) grid_lyt.addWidget(normal_cbx, 0, index) grid_lyt.addWidget(disabled_cbx, 1, index) icon_lyt = layouts.HorizontalLayout() for text, icon in [('maya', maya_icon), ('Nuke', nuke_icon), ('Houdini', houdini_icon)]: cbx_icon = checkbox.BaseCheckBox(text) cbx_icon.setIcon(icon) icon_lyt.addWidget(cbx_icon) bind_cbx = checkbox.BaseCheckBox('Data Bind') lbl = label.BaseLabel() btn = buttons.BaseButton('Change State') btn.clicked.connect(lambda: self.set_field('checked', not self.field('checked'))) self.register_field('checked', True) self.register_field('checked_text', lambda: 'Yes!' if self.field('checked') else 'No!!') self.bind('checked', bind_cbx, 'checked', signal='stateChanged') self.bind('checked_text', lbl, 'text') self.main_layout.addWidget(dividers.Divider('Basic')) self.main_layout.addLayout(grid_lyt) self.main_layout.addWidget(dividers.Divider('Icon')) self.main_layout.addLayout(icon_lyt) self.main_layout.addWidget(dividers.Divider('Data Bind')) self.main_layout.addWidget(bind_cbx) self.main_layout.addWidget(lbl) self.main_layout.addWidget(btn) self.main_layout.addStretch()
def ui(self): super(BugWidget, self).ui() bug_data_frame = QFrame() bug_data_frame.setFrameStyle(QFrame.Raised | QFrame.StyledPanel) self._bug_data_layout = QGridLayout() bug_data_frame.setLayout(self._bug_data_layout) self._trace_text = QTextEdit() self._trace_text.setMinimumHeight(100) self._trace_text.setReadOnly(True) self._trace_text.setEnabled(False) self._title_line = QLineEdit() self._title_line.setPlaceholderText('Short title for the bug ...') self._steps_area = QTextEdit() txt_msg = 'Explain with details how to reproduce the error ...' steps_lbl = QLabel(txt_msg) if qtutils.is_pyside2(): self._steps_area.setPlaceholderText(txt_msg) self._steps_area.setMinimumHeight(350) self._send_btn = QPushButton('Send Bug') self._send_btn.setIcon(tp.ResourcesMgr().icon('bug')) self._send_btn.setEnabled(False) self.main_layout.addWidget(dividers.Divider('Bug Data')) self.main_layout.addWidget(bug_data_frame) self.main_layout.addWidget(dividers.Divider('Error Trace')) self.main_layout.addWidget(self._trace_text) self.main_layout.addLayout(dividers.DividerLayout()) self.main_layout.addWidget(self._title_line) if qtutils.is_pyside(): self.main_layout.addWidget(steps_lbl) self.main_layout.addWidget(self._steps_area) self.main_layout.addLayout(dividers.DividerLayout()) self.main_layout.addWidget(self._send_btn) self._fill_bug_data()
def ui(self): super(PushButtonExample, self).ui() upload_icon = tpDcc.ResourcesMgr().icon('upload') folder_icon = tpDcc.ResourcesMgr().icon('folder') ok_icon = tpDcc.ResourcesMgr().icon('ok') edit_icon = tpDcc.ResourcesMgr().icon('edit') trash_icon = tpDcc.ResourcesMgr().icon('trash') sub_layout_1 = layouts.HorizontalLayout() sub_layout_1.addWidget(buttons.BaseButton('Default')) sub_layout_1.addWidget(buttons.BaseButton('Primary').primary()) sub_layout_1.addWidget(buttons.BaseButton('Success').success()) sub_layout_1.addWidget(buttons.BaseButton('Warning').warning()) sub_layout_1.addWidget(buttons.BaseButton('Danger').danger()) sub_layout_2 = layouts.HorizontalLayout() sub_layout_2.addWidget(buttons.BaseButton('Upload', icon=upload_icon)) sub_layout_2.addWidget(buttons.BaseButton('Submit', icon=folder_icon).primary()) sub_layout_2.addWidget(buttons.BaseButton('Submit', icon=ok_icon).success()) sub_layout_2.addWidget(buttons.BaseButton('Edit', icon=edit_icon).warning()) sub_layout_2.addWidget(buttons.BaseButton('Delete', icon=trash_icon).danger()) sub_layout_3 = layouts.HorizontalLayout() sub_layout_3.addWidget(buttons.BaseButton('Large').large().primary()) sub_layout_3.addWidget(buttons.BaseButton('Medium').medium().primary()) sub_layout_3.addWidget(buttons.BaseButton('Small').small().primary()) disabled_button = buttons.BaseButton('Disabled') disabled_button.setEnabled(False) self.main_layout.addWidget(dividers.Divider('different type')) self.main_layout.addLayout(sub_layout_1) self.main_layout.addLayout(sub_layout_2) self.main_layout.addWidget(dividers.Divider('different size')) self.main_layout.addLayout(sub_layout_3) self.main_layout.addWidget(dividers.Divider('disabled')) self.main_layout.addWidget(disabled_button)
def ui(self): super(ToolButtonExample, self).ui() size_lyt = layouts.VerticalLayout() sub_lyt1 = layouts.HorizontalLayout() size_lyt.addLayout(sub_lyt1) sub_lyt1.addWidget(buttons.BaseToolButton().image('back').icon_only()) sub_lyt1.addWidget(buttons.BaseToolButton().image('next').icon_only()) sub_lyt1.addWidget( buttons.BaseToolButton().image('collapse').icon_only()) sub_lyt1.addWidget( buttons.BaseToolButton().image('expand').icon_only()) state_lyt = layouts.HorizontalLayout() btn1 = buttons.BaseToolButton().image('list').icon_only() btn1.setEnabled(False) btn2 = buttons.BaseToolButton().image('trash').icon_only() btn2.setCheckable(True) state_lyt.addWidget(btn1) state_lyt.addWidget(btn2) state_lyt.addStretch() btn_trash = buttons.BaseToolButton().image('trash').text_beside_icon() btn_trash.setText('Delete') btn_login = buttons.BaseToolButton().image('user').text_beside_icon() btn_login.setText('Login') btn_lyt = layouts.HorizontalLayout() btn_lyt.addWidget(btn_trash) btn_lyt.addWidget(btn_login) btn_lyt.addStretch() self.main_layout.addWidget(dividers.Divider('different button size')) self.main_layout.addLayout(size_lyt) self.main_layout.addWidget(dividers.Divider('disabled & checkable')) self.main_layout.addLayout(state_lyt) self.main_layout.addWidget(dividers.Divider('type=normal')) self.main_layout.addLayout(btn_lyt)
def ui(self): super(ListWidget, self).ui() widget_layout = layouts.VerticalLayout() btn_layout = layouts.HorizontalLayout() add_btn = buttons.BaseToolButton().image('plus').icon_only() add_btn.clicked.connect(self._on_add_default_entry) add_btn.setMinimumWidth(25) btn_layout.addStretch() btn_layout.addWidget(add_btn) widget_layout.addWidget(dividers.Divider()) widget_layout.addLayout(btn_layout) self.main_layout.addLayout(widget_layout)
def ui(self): super(OptionsViewer, self).ui() edit_mode_icon = resources.icon('edit') move_up_icon = resources.icon('sort_up') move_down_icon = resources.icon('sort_down') remove_icon = resources.icon('delete') self._edit_widget = QWidget() top_layout = layouts.HorizontalLayout() top_layout.setContentsMargins(0, 0, 0, 0) top_layout.setSpacing(2) self._edit_widget.setLayout(top_layout) self.main_layout.addWidget(self._edit_widget) self._edit_mode_btn = buttons.BaseButton(parent=self) self._edit_mode_btn.setIcon(edit_mode_icon) self._edit_mode_btn.setCheckable(True) top_layout.addWidget(self._edit_mode_btn) horizontal_separator = QFrame() horizontal_separator.setFrameShape(QFrame.VLine) horizontal_separator.setFrameShadow(QFrame.Sunken) top_layout.addWidget(horizontal_separator) self._move_up_btn = buttons.BaseButton(parent=self) self.move_down_btn = buttons.BaseButton(parent=self) self.remove_btn = buttons.BaseButton(parent=self) self._move_up_btn.setIcon(move_up_icon) self.move_down_btn.setIcon(move_down_icon) self.remove_btn.setIcon(remove_icon) self._move_up_btn.setVisible(False) self.move_down_btn.setVisible(False) self.remove_btn.setVisible(False) top_layout.addWidget(self._move_up_btn) top_layout.addWidget(self.move_down_btn) top_layout.addWidget(self.remove_btn) top_layout.addStretch() self.main_layout.addWidget(dividers.Divider()) self._scroll = QScrollArea() self._scroll.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._scroll.setFocusPolicy(Qt.NoFocus) self._scroll.setWidgetResizable(True) self.setFocusPolicy(Qt.NoFocus) self._options_list = self.OPTION_LIST_CLASS(parent=self) self._scroll.setWidget(self._options_list) self.main_layout.addWidget(self._scroll)
def ui(self): super(SliderPanel, self).ui() self._title_label = label.BaseLabel(parent=self).h4() self._title_label.setText(self._title) self._close_btn = buttons.BaseToolButton( parent=self).icon_only().image('close', theme='window').small() self._close_btn.setVisible(self._closable or False) title_layout = layouts.HorizontalLayout() title_layout.addWidget(self._title_label) title_layout.addStretch() title_layout.addWidget(self._close_btn) self._button_layout = layouts.HorizontalLayout() self._button_layout.addStretch() self._scroll_area = QScrollArea() self.main_layout.addLayout(title_layout) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addWidget(self._scroll_area) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addLayout(self._button_layout)
def ui(self): super(SwitchExample, self).ui() switch1 = switch.SwitchWidget() switch1.setChecked(True) switch2 = switch.SwitchWidget() switch3 = switch.SwitchWidget() switch3.setEnabled(False) lyt = layouts.HorizontalLayout() lyt.addWidget(switch1) lyt.addWidget(switch2) lyt.addWidget(switch3) size_lyt = layouts.FormLayout() size_lyt.addRow('Tiny', switch.SwitchWidget().tiny()) size_lyt.addRow('Small', switch.SwitchWidget().small()) size_lyt.addRow('Medium', switch.SwitchWidget().medium()) size_lyt.addRow('Large', switch.SwitchWidget().large()) size_lyt.addRow('Huge', switch.SwitchWidget().huge()) self.main_layout.addWidget(dividers.Divider('Basic')) self.main_layout.addLayout(lyt) self.main_layout.addWidget(dividers.Divider('different size')) self.main_layout.addLayout(size_lyt)
def ui(self): super(MenuTabWidget, self).ui() self.tool_btn_grp = MenuTabBlockButtonGroup() bar_widget = QWidget() bar_widget.setObjectName('bar_widget') self._bar_layout = layouts.HorizontalLayout(margins=(10, 0, 10, 0)) bar_widget.setLayout(self._bar_layout) self._bar_layout.addWidget(self.tool_btn_grp) self._bar_layout.addStretch() self.main_layout.addWidget(bar_widget) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addSpacing(5)
def ui(self): super(BoneHierarchyWidget, self).ui() self._tree_hierarchy = QTreeWidget() self._node_line = lineedit.BaseLineEdit(parent=self) self._node_line.setReadOnly(True) self._ok_btn = buttons.BaseButton('Ok') self._cancel_btn = buttons.BaseButton('Cancel') buttons_layout = layouts.HorizontalLayout() buttons_layout.addStretch() buttons_layout.addWidget(self._ok_btn) buttons_layout.addWidget(self._cancel_btn) self.main_layout.addWidget(self._tree_hierarchy) self.main_layout.addWidget(self._node_line) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addLayout(buttons_layout)
def ui(self): super(InfoMessage, self).ui() self.setMaximumHeight(150) info_icon = resources.icon('info') self._expandable_frame = expandables.ExpandableFrame(icon=info_icon, parent=self) self._expandable_frame.setFrameStyle(QFrame.StyledPanel | QFrame.Raised) expandable_layout = layouts.HorizontalLayout(margins=(2, 2, 2, 2)) texts_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0)) self._description_text = QPlainTextEdit(parent=self) self._description_text.setReadOnly(True) self._description_text.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) self._description_text.setFocusPolicy(Qt.NoFocus) self._description_text.setFrameShape(QFrame.NoFrame) self._instructions_widget = QWidget() instructions_layout = layouts.VerticalLayout(spacing=2, margins=(0, 0, 0, 0)) self._instructions_widget.setLayout(instructions_layout) self._instructions_text = QTextEdit(parent=self) self._instructions_text.setReadOnly(True) self._instructions_text.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) self._instructions_text.setFocusPolicy(Qt.NoFocus) self._instructions_text.setFrameShape(QFrame.NoFrame) self._instructions_widget.setVisible(False) # self._instructions_text.insertHtml("<ul><li>text 1</li><li>text 2</li><li>text 3</li></ul> <br />") instructions_layout.addWidget(dividers.Divider('Instructions')) instructions_layout.addWidget(self._instructions_text) texts_layout.addWidget(self._description_text) texts_layout.addWidget(self._instructions_widget) content_layout = layouts.VerticalLayout() content_layout.addLayout(texts_layout) expandable_layout.addLayout(content_layout) self._expandable_frame.addLayout(expandable_layout) self.main_layout.addWidget(self._expandable_frame)
def ui(self): super(PreferencesWidget, self).ui() self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._splitter = QSplitter() self._splitter.setOrientation(Qt.Horizontal) self._splitter.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding) self._scroll_area = QScrollArea() self._scroll_area.setWidgetResizable(True) self._scroll_area.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) # self._scroll_area.setMinimumWidth(200) self._scroll_area_widget_contents = QWidget() # self._scroll_area_widget_contents.setGeometry(QRect(0, 0, 480, 595)) self._scroll_area_layout = layouts.VerticalLayout(spacing=2, margins=(1, 1, 1, 1)) self._scroll_area_layout.setAlignment(Qt.AlignTop) self._scroll_area_widget_contents.setLayout(self._scroll_area_layout) self._categories_layout = layouts.VerticalLayout() self._stack = stack.SlidingStackedWidget() self._stack.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self._stack.set_vertical_mode() self._buttons_layout = layouts.HorizontalLayout(spacing=1, margins=(0, 0, 0, 0)) self._save_prefs_close_btn = buttons.BaseButton( 'Save and Close', icon=resources.icon('save'), parent=self) self._close_btn = buttons.BaseButton('Close', icon=resources.icon('cancel'), parent=self) self._buttons_layout.addStretch() self._buttons_layout.addWidget(self._save_prefs_close_btn) self._buttons_layout.addWidget(self._close_btn) self._scroll_area_layout.addLayout(self._categories_layout) self._scroll_area.setWidget(self._scroll_area_widget_contents) self._splitter.addWidget(self._scroll_area) self._splitter.addWidget(self._stack) self._splitter.setSizes([150, 450]) self.main_layout.addWidget(self._splitter) self.main_layout.addWidget(dividers.Divider(parent=self)) self.main_layout.addLayout(self._buttons_layout)
def ui(self): super(ScriptEditorView, self).ui() self._stack = stack.SlidingOpacityStackedWidget(parent=self) main_splitter = QSplitter(Qt.Vertical, parent=self) self._output_console = console.OutputConsole(parent=self) # NOTE: Scripts Tab MUST pass ScriptEditor as parent because internally some ScriptEditor functions # NOTE: are connected to some signals. If we don't do this Maya will crash when opening new Script Editors :) self._scripts_tab = script.ScriptsTab(controller=self._controller, parent=self) main_splitter.addWidget(self._output_console) main_splitter.addWidget(self._scripts_tab) self._menu_bar = self._setup_menubar() self._tool_bar = self._setup_toolbar() self._tool_bar_divider = dividers.Divider() # Empty widget empty_widget = QWidget(self) empty_layout = layouts.HorizontalLayout(spacing=5, margins=(5, 5, 5, 5)) empty_widget.setLayout(empty_layout) main_empty_layout = layouts.VerticalLayout(spacing=5, margins=(5, 5, 5, 5)) self._empty_label = label.BaseLabel('No Scripts Opened', parent=self).h4().strong() self._empty_label.setAlignment(Qt.AlignCenter) main_empty_layout.addStretch() main_empty_layout.addWidget(self._empty_label) main_empty_layout.addStretch() empty_layout.addStretch() empty_layout.addLayout(main_empty_layout) empty_layout.addStretch() self._stack.addWidget(empty_widget) self._stack.addWidget(main_splitter) self.main_layout.addWidget(self._menu_bar) self.main_layout.addWidget(self._tool_bar) self.main_layout.addWidget(self._tool_bar_divider) self.main_layout.addWidget(self._stack)
def ui(self): super(BaseCard, self).ui() widget_theme = self.theme() map_label = { widget_theme.small if widget_theme else theme.Theme.Sizes.SMALL: (label.BaseLabel.Levels.H4, 10), widget_theme.medium if widget_theme else theme.Theme.Sizes.MEDIUM: (label.BaseLabel.Levels.H3, 15), widget_theme.large if widget_theme else theme.Theme.Sizes.LARGE: (label.BaseLabel.Levels.H2, 20) } size = self._size or widget_theme.default if widget_theme else theme.Theme.Sizes.MEDIUM padding = map_label.get(size)[-1] self._title_layout = layouts.HorizontalLayout(margins=(padding, padding, padding, padding)) self._title_label = label.BaseLabel(text=self._title, parent=self) self._title_label.level = map_label.get(size)[0] if self._image: self._title_icon = avatar.Avatar() self._title_icon.image = self._image self._title_icon.theme_size = size self._title_layout.addWidget(self._title_icon) self._title_layout.addWidget(self._title_label) self._title_layout.addStretch() if self._extra: self._extra_button = buttons.BaseToolButton( parent=self).image('more').icon_only() self._title_layout.addWidget(self._extra_button) self._content_layout = layouts.VerticalLayout() if self._title: self.main_layout.addLayout(self._title_layout) self.main_layout.addWidget(dividers.Divider()) self.main_layout.addLayout(self._content_layout)