def _init_ui(self): scale_x, _ = get_scale_factor() self.button_grp = MRadioButtonGroup() self.button_grp.set_button_list( ["top", {"text": "right", "checked": True}, "bottom", "left"] ) open_button_2 = MPushButton("Open").primary() open_button_2.clicked.connect(self.slot_open_button_2) placement_lay = QtWidgets.QHBoxLayout() placement_lay.addWidget(self.button_grp) placement_lay.addSpacing(20 * scale_x) placement_lay.addWidget(open_button_2) placement_lay.addStretch() new_account_button = MPushButton( text="New account", icon=MIcon("add_line.svg", "#fff") ).primary() new_account_button.clicked.connect(self.slot_new_account) new_account_lay = QtWidgets.QHBoxLayout() new_account_lay.addWidget(MLabel("Submit form in drawer")) new_account_lay.addWidget(new_account_button) new_account_lay.addStretch() main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("Custom Placement")) main_lay.addLayout(placement_lay) main_lay.addWidget(MDivider("Submit form in drawer")) main_lay.addLayout(new_account_lay) main_lay.addWidget(MDivider("Preview drawer")) self.setLayout(main_lay)
def _init_ui(self): self.button_grp = MRadioButtonGroup() self.button_grp.set_button_list( ['top', { 'text': 'right', 'checked': True }, 'bottom', 'left']) open_button_2 = MPushButton('Open').primary() open_button_2.clicked.connect(self.slot_open_button_2) placement_lay = QHBoxLayout() placement_lay.addWidget(self.button_grp) placement_lay.addSpacing(20) placement_lay.addWidget(open_button_2) placement_lay.addStretch() new_account_button = MPushButton(text='New account', icon=MIcon('add_line.svg', '#fff')).primary() new_account_button.clicked.connect(self.slot_new_account) new_account_lay = QHBoxLayout() new_account_lay.addWidget(MLabel('Submit form in drawer')) new_account_lay.addWidget(new_account_button) new_account_lay.addStretch() main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Custom Placement')) main_lay.addLayout(placement_lay) main_lay.addWidget(MDivider('Submit form in drawer')) main_lay.addLayout(new_account_lay) main_lay.addWidget(MDivider('Preview drawer')) self.setLayout(main_lay)
def _init_ui(self): check_box_1 = MSwitch() check_box_1.setChecked(True) check_box_2 = MSwitch() check_box_3 = MSwitch() check_box_3.setEnabled(False) lay = QtWidgets.QHBoxLayout() lay.addWidget(check_box_1) lay.addWidget(check_box_2) lay.addWidget(check_box_3) size_lay = QtWidgets.QFormLayout() size_lay.addRow("Huge", MSwitch().huge()) size_lay.addRow("Large", MSwitch().large()) size_lay.addRow("Medium", MSwitch().medium()) size_lay.addRow("Small", MSwitch().small()) size_lay.addRow("Tiny", MSwitch().tiny()) main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("Basic")) main_lay.addLayout(lay) main_lay.addWidget(MDivider("different size")) main_lay.addLayout(size_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): radio_group_h = MRadioButtonGroup() radio_group_h.set_button_list(['Apple', {'text': 'Banana'}, {'text': 'Pear'}]) radio_grp_1_lay = QHBoxLayout() radio_grp_1_lay.addWidget(radio_group_h) radio_grp_1_lay.addStretch() app_data = [ {'text': 'Maya', 'icon': MIcon('app-maya.png')}, {'text': 'Nuke', 'icon': MIcon('app-nuke.png')}, {'text': 'Houdini', 'icon': MIcon('app-houdini.png')} ] radio_group_v = MRadioButtonGroup(orientation=Qt.Vertical) radio_group_v.set_button_list(app_data) radio_group_button_h = MRadioButtonGroup() radio_group_button_h.set_button_list(app_data) radio_grp_h_lay = QHBoxLayout() radio_grp_h_lay.addWidget(radio_group_button_h) radio_grp_h_lay.addStretch() radio_group_button_v = MRadioButtonGroup(orientation=Qt.Vertical) radio_group_button_v.set_button_list(app_data) self.register_field('value1', -1) self.register_field('value1_text', functools.partial(self.value_to_text, 'value1', app_data)) self.register_field('value2', 0) self.register_field('value2_text', functools.partial(self.value_to_text, 'value2', app_data)) self.register_field('value3', -1) self.register_field('value3_text', functools.partial(self.value_to_text, 'value3', app_data)) button1 = MPushButton(text='Group 1') button2 = MPushButton(text='Group 2') button3 = MPushButton(text='Group 3') button1.clicked.connect(functools.partial(self.slot_change_value, 'value1')) button2.clicked.connect(functools.partial(self.slot_change_value, 'value2')) button3.clicked.connect(functools.partial(self.slot_change_value, 'value3')) self.bind('value1', radio_group_v, 'dayu_checked', signal='sig_checked_changed') self.bind('value2', radio_group_button_h, 'dayu_checked', signal='sig_checked_changed') self.bind('value3', radio_group_button_v, 'dayu_checked', signal='sig_checked_changed') self.bind('value1_text', button1, 'text') self.bind('value2_text', button2, 'text') self.bind('value3_text', button3, 'text') main_lay = QVBoxLayout() main_lay.addWidget(MDivider('MRadioButtonGroup: orientation=Qt.Horizontal ')) main_lay.addLayout(radio_grp_1_lay) main_lay.addWidget(MDivider('MRadioButtonGroup: orientation=Qt.Vertical')) main_lay.addWidget(radio_group_v) main_lay.addWidget(button1) main_lay.addWidget(MDivider('MRadioButtonGroup: orientation=Qt.Horizontal type=button')) main_lay.addLayout(radio_grp_h_lay) main_lay.addWidget(button2) main_lay.addWidget(MDivider('MRadioButtonGroup: orientation=Qt.Vertical, type=button')) main_lay.addWidget(radio_group_button_v) main_lay.addWidget(button3) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): button_config_list = [ {'text': 'Add', 'icon': MIcon('add_line.svg', '#fff'), 'type': MPushButton.PrimaryType}, {'text': 'Edit', 'icon': MIcon('edit_fill.svg', '#fff'), 'type': MPushButton.WarningType}, {'text': 'Delete', 'icon': MIcon('trash_line.svg', '#fff'), 'type': MPushButton.DangerType}, ] button_group_h = MPushButtonGroup() button_group_h.set_dayu_size(dayu_theme.large) button_group_h.set_button_list(button_config_list) h_lay = QHBoxLayout() h_lay.addWidget(button_group_h) h_lay.addStretch() button_group_v = MPushButtonGroup(orientation=Qt.Vertical) button_group_v.set_button_list(button_config_list) h_lay_2 = QHBoxLayout() h_lay_2.addWidget(button_group_v) h_lay_2.addStretch() main_lay = QVBoxLayout() main_lay.addWidget( MLabel(u'MPushButtonGroup is MPushButton collection. they are not exclusive.')) main_lay.addWidget(MDivider('MPushButton group: Horizontal & Small Size')) main_lay.addLayout(h_lay) main_lay.addWidget(MDivider('MPushButton group: Vertical & Default Size')) main_lay.addLayout(h_lay_2) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): self.register_field('percent', 20) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('different orientation')) for orn in [Qt.Horizontal, Qt.Vertical]: line_edit_hor = MSlider(orn) line_edit_hor.setRange(1, 100) self.bind('percent', line_edit_hor, 'value') lay = QVBoxLayout() lay.addWidget(line_edit_hor) main_lay.addLayout(lay) spin_box = MSpinBox() spin_box.setRange(1, 100) self.bind('percent', spin_box, 'value', signal='valueChanged') lay3 = QHBoxLayout() button_grp = MPushButtonGroup() button_grp.set_button_list([ { 'text': '+', 'clicked': functools.partial(self.slot_change_value, 10) }, { 'text': '-', 'clicked': functools.partial(self.slot_change_value, -10) }, ]) lay3.addWidget(spin_box) lay3.addWidget(button_grp) lay3.addStretch() main_lay.addWidget(MDivider('data bind')) main_lay.addLayout(lay3) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): table_small = MListView(size=dayu_theme.small) table_default = MListView() table_large = MListView(size=dayu_theme.large) model_1 = MTableModel() model_1.set_header_list(mock.header_list) model_sort = MSortFilterModel() model_sort.setSourceModel(model_1) table_small.setModel(model_sort) table_default.setModel(model_sort) table_large.setModel(model_sort) model_sort.set_header_list(mock.header_list) table_small.set_header_list(mock.header_list) table_default.set_header_list(mock.header_list) table_large.set_header_list(mock.header_list) model_1.set_data_list(mock.data_list) line_edit = MLineEdit().search().small() line_edit.textChanged.connect(model_sort.set_search_pattern) main_lay = QVBoxLayout() main_lay.addWidget(line_edit) main_lay.addWidget(MDivider('Small Size')) main_lay.addWidget(table_small) main_lay.addWidget(MDivider('Default Size')) main_lay.addWidget(table_default) main_lay.addWidget(MDivider('Large Size')) main_lay.addWidget(table_large) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): MMessage.config(duration=1) entity_list = [ { 'clicked': functools.partial(self.slot_show_message, MMessage.info, 'Go to "Home Page"'), 'svg': 'home_line.svg'}, { 'text': 'pl', 'clicked': functools.partial(self.slot_show_message, MMessage.info, 'Go to "pl"'), 'svg': 'user_line.svg'}, { 'text': 'pl_0010', 'clicked': functools.partial(self.slot_show_message, MMessage.info, 'Go to "pl_0010"'), } ] no_icon_eg = MBreadcrumb() no_icon_eg.set_item_list(entity_list) separator_eg = MBreadcrumb(separator='=>') separator_eg.set_item_list(entity_list) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('normal')) main_lay.addWidget(no_icon_eg) main_lay.addWidget(MDivider('separator: =>')) main_lay.addWidget(separator_eg) main_lay.addStretch() self.setLayout(main_lay)
def __init__(self, parent=None): super(SpinBoxExample, self).__init__(parent) self.setWindowTitle('Examples for Spin Box') main_lay = QVBoxLayout() class_list = [ MSpinBox, MDoubleSpinBox, MDateTimeEdit, MDateEdit, MTimeEdit ] for cls in class_list: main_lay.addWidget(MDivider(cls.__name__)) lay = QHBoxLayout() lay.addWidget(cls().large()) lay.addWidget(cls().medium()) lay.addWidget(cls().small()) main_lay.addLayout(lay) main_lay.addWidget(MDivider('Pop Calendar Widget')) date_time_edit = MDateTimeEdit() date_time_edit.setCalendarPopup(True) date_edit = MDateEdit() date_edit.setCalendarPopup(True) time_edit = MTimeEdit() time_edit.setCalendarPopup(True) date_lay = QHBoxLayout() date_lay.addWidget(date_time_edit) date_lay.addWidget(date_edit) date_lay.addWidget(time_edit) main_lay.addLayout(date_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): check_box_1 = MSwitch() check_box_1.setChecked(True) check_box_2 = MSwitch() check_box_3 = MSwitch() check_box_3.setEnabled(False) lay = QHBoxLayout() lay.addWidget(check_box_1) lay.addWidget(check_box_2) lay.addWidget(check_box_3) size_lay = QFormLayout() size_lay.addRow('Huge', MSwitch().huge()) size_lay.addRow('Large', MSwitch().large()) size_lay.addRow('Medium', MSwitch().medium()) size_lay.addRow('Small', MSwitch().small()) size_lay.addRow('Tiny', MSwitch().tiny()) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Basic')) main_lay.addLayout(lay) main_lay.addWidget(MDivider('different size')) main_lay.addLayout(size_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): self.register_field("percent", 20) main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("different orientation")) for orn in [QtCore.Qt.Horizontal, QtCore.Qt.Vertical]: line_edit_hor = MSlider(orn) line_edit_hor.setRange(1, 100) self.bind("percent", line_edit_hor, "value") lay = QtWidgets.QVBoxLayout() lay.addWidget(line_edit_hor) main_lay.addLayout(lay) spin_box = MSpinBox() spin_box.setRange(1, 100) self.bind("percent", spin_box, "value", signal="valueChanged") lay3 = QtWidgets.QHBoxLayout() button_grp = MPushButtonGroup() button_grp.set_button_list( [ {"text": "+", "clicked": functools.partial(self.slot_change_value, 10)}, { "text": "-", "clicked": functools.partial(self.slot_change_value, -10), }, ] ) lay3.addWidget(spin_box) lay3.addWidget(button_grp) lay3.addStretch() main_lay.addWidget(MDivider("data bind")) main_lay.addLayout(lay3) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): size_lay = QHBoxLayout() size_list = [ ('Huge', MLoading.huge), ('Large', MLoading.large), ('Medium', MLoading.medium), ('Small', MLoading.small), ('Tiny', MLoading.tiny), ] for label, cls in size_list: size_lay.addWidget(MLabel(label)) size_lay.addWidget(cls()) size_lay.addSpacing(10) color_lay = QHBoxLayout() color_list = [('cyan', '#13c2c2'), ('green', '#52c41a'), ('magenta', '#eb2f96'), ('red', '#f5222d'), ('yellow', '#fadb14'), ('volcano', '#fa541c')] for label, color in color_list: color_lay.addWidget(MLabel(label)) color_lay.addWidget(MLoading.tiny(color=color)) color_lay.addSpacing(10) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('different size')) main_lay.addLayout(size_lay) main_lay.addWidget(MDivider('different color')) main_lay.addLayout(color_lay) main_lay.addWidget(MDivider('loading wrapper')) # main_lay.addLayout(wrapper_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): progress_1 = MProgressBar() progress_1.setValue(1) progress_1.setAlignment(Qt.AlignCenter) progress_2 = MProgressBar() progress_2.setValue(80) progress_normal = MProgressBar() progress_normal.setValue(30) progress_success = MProgressBar(status=MProgressBar.SuccessStatus) progress_success.setValue(100) progress_error = MProgressBar(status=MProgressBar.ErrorStatus) progress_error.setValue(50) form_lay = QFormLayout() form_lay.addRow('Primary:', progress_normal) form_lay.addRow('Success:', progress_success) form_lay.addRow('Error:', progress_error) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Basic')) main_lay.addWidget(progress_1) main_lay.addWidget(progress_2) main_lay.addWidget(MDivider('different type')) main_lay.addLayout(form_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): check_box_1 = MSwitch() check_box_1.setChecked(True) check_box_2 = MSwitch() check_box_3 = MSwitch() check_box_3.setEnabled(False) lay = QHBoxLayout() lay.addWidget(check_box_1) lay.addWidget(check_box_2) lay.addWidget(check_box_3) size_lay = QVBoxLayout() size_list = [ ('Huge', MSwitch.huge), ('Large', MSwitch.large), ('Medium', MSwitch.medium), ('Small', MSwitch.small), ('Tiny', MSwitch.tiny), ] for label, cls in size_list: lay2 = QHBoxLayout() lay2.addWidget(MLabel(label)) lay2.addWidget(cls()) size_lay.addLayout(lay2) main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Basic')) main_lay.addLayout(lay) main_lay.addWidget(MDivider('different size')) main_lay.addLayout(size_lay) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): main_lay = QVBoxLayout() tab_center = MLineTabWidget() tab_center.add_tab(MLabel('test 1 ' * 10), { 'text': u'Tab 1', 'svg': 'user_line.svg' }) tab_center.add_tab(MLabel('test 2 ' * 10), {'svg': 'calendar_line.svg'}) tab_center.add_tab(MLabel('test 3 ' * 10), u'Tab 3') tab_center.tool_button_group.set_dayu_checked(0) tab_left = MLineTabWidget(alignment=Qt.AlignLeft) tab_left.add_tab(MLabel('test 1 ' * 10), u'Tab 1') tab_left.add_tab(MLabel('test 2 ' * 10), u'Tab 2') tab_left.add_tab(MLabel('test 3 ' * 10), u'Tab 3') tab_left.tool_button_group.set_dayu_checked(0) tab_right = MLineTabWidget(alignment=Qt.AlignRight) tab_right.add_tab(MLabel('test 1 ' * 10), u'Tab 1') tab_right.add_tab(MLabel('test 2 ' * 10), u'Tab 2') tab_right.add_tab(MLabel('test 3 ' * 10), u'Tab 3') tab_right.tool_button_group.set_dayu_checked(0) main_lay.addWidget(MDivider('Center')) main_lay.addWidget(tab_center) main_lay.addSpacing(20) main_lay.addWidget(MDivider('Left')) main_lay.addWidget(tab_left) main_lay.addSpacing(20) main_lay.addWidget(MDivider('Right')) main_lay.addWidget(tab_right) main_lay.addStretch() self.setLayout(main_lay)
def test_divider_class_method(qtbot, text, visible_text): """Test MDivider class methods.""" main_widget = QWidget() main_lay = QVBoxLayout() main_widget.setLayout(main_lay) divider_left = MDivider.left(text) divider_center = MDivider.center(text) divider_right = MDivider.right(text) divider_ver = MDivider.vertical() main_lay.addWidget(divider_left) main_lay.addWidget(divider_center) main_lay.addWidget(divider_right) main_lay.addWidget(divider_ver) qtbot.addWidget(main_widget) main_widget.show() _asset_divider_perform(divider_left, True and visible_text, Qt.AlignLeft) _asset_divider_perform(divider_right, True and visible_text, Qt.AlignRight) _asset_divider_perform(divider_center, True and visible_text, Qt.AlignCenter) _asset_divider_perform(divider_ver, False, Qt.AlignCenter) assert divider_left.get_dayu_text() == text assert divider_right.get_dayu_text() == text assert divider_center.get_dayu_text() == text assert divider_ver.get_dayu_text() == ''
def _init_ui(self): main_lay = QtWidgets.QVBoxLayout() tab_center = MLineTabWidget() tab_center.add_tab( MLabel("test 1 " * 10), {"text": "Tab 1", "svg": "user_line.svg"} ) tab_center.add_tab(MLabel("test 2 " * 10), {"svg": "calendar_line.svg"}) tab_center.add_tab(MLabel("test 3 " * 10), "Tab 3") tab_center.tool_button_group.set_dayu_checked(0) tab_left = MLineTabWidget(alignment=QtCore.Qt.AlignLeft) tab_left.add_tab(MLabel("test 1 " * 10), "Tab 1") tab_left.add_tab(MLabel("test 2 " * 10), "Tab 2") tab_left.add_tab(MLabel("test 3 " * 10), "Tab 3") tab_left.tool_button_group.set_dayu_checked(0) tab_right = MLineTabWidget(alignment=QtCore.Qt.AlignRight) tab_right.add_tab(MLabel("test 1 " * 10), "Tab 1") tab_right.add_tab(MLabel("test 2 " * 10), "Tab 2") tab_right.add_tab(MLabel("test 3 " * 10), "Tab 3") tab_right.tool_button_group.set_dayu_checked(0) tab_huge = MLineTabWidget() tab_huge.set_dayu_size(dayu_theme.huge) tab_huge.add_tab( MLabel("test 1 " * 10), {"text": "Tab 1", "svg": "user_line.svg"} ) tab_huge.add_tab(MLabel("test 2 " * 10), "Tab 2") tab_huge.add_tab(MLabel("test 3 " * 10), "Tab 3") tab_huge.tool_button_group.set_dayu_checked(0) tab_append_insert = MLineTabWidget() tab_append_insert.add_tab( MLabel("test 1 " * 10), {"text": "Tab 1", "svg": "user_line.svg"} ) tab_append_insert.add_tab(MLabel("test 2 " * 10), "Tab 2") tab_append_insert.add_tab(MLabel("test 3 " * 10), "Tab 3") tab_append_insert.tool_button_group.set_dayu_checked(0) tab_append_insert.insert_widget(MLabel("Insert Label").h4()) tab_append_insert.append_widget( MToolButton().svg("refresh_line.svg").icon_only() ) main_lay.addWidget(MDivider("Center")) main_lay.addWidget(tab_center) main_lay.addSpacing(20) main_lay.addWidget(MDivider("Left")) main_lay.addWidget(tab_left) main_lay.addSpacing(20) main_lay.addWidget(MDivider("Right")) main_lay.addWidget(tab_right) main_lay.addSpacing(20) main_lay.addWidget(MDivider("Huge")) main_lay.addWidget(tab_huge) main_lay.addWidget(MDivider("append_widget/insert_widget")) main_lay.addWidget(tab_append_insert) main_lay.addStretch() self.setLayout(main_lay)
def __init__(self, title, position="right", closable=True, parent=None): super(MDrawer, self).__init__(parent) self.setObjectName("message") self.setWindowFlags(QtCore.Qt.Popup) # self.setWindowFlags( # Qt.FramelessWindowHint | Qt.Popup | Qt.WA_TranslucentBackground) self.setAttribute(QtCore.Qt.WA_StyledBackground) self._title_label = MLabel(parent=self).h4() # self._title_label.set_elide_mode(Qt.ElideRight) self._title_label.setText(title) self._close_button = (MToolButton( parent=self).icon_only().svg("close_line.svg").small()) self._close_button.clicked.connect(self.close) self._close_button.setVisible(closable or False) self._title_extra_lay = QtWidgets.QHBoxLayout() _title_lay = QtWidgets.QHBoxLayout() _title_lay.addWidget(self._title_label) _title_lay.addStretch() _title_lay.addLayout(self._title_extra_lay) _title_lay.addWidget(self._close_button) self._bottom_lay = QtWidgets.QHBoxLayout() self._bottom_lay.addStretch() self._scroll_area = QtWidgets.QScrollArea() self._scroll_area.setWidgetResizable(True) self._main_lay = QtWidgets.QVBoxLayout() self._main_lay.addLayout(_title_lay) self._main_lay.addWidget(MDivider()) self._main_lay.addWidget(self._scroll_area) self._main_lay.addWidget(MDivider()) self._main_lay.addLayout(self._bottom_lay) self.setLayout(self._main_lay) self._position = position self._close_timer = QtCore.QTimer(self) self._close_timer.setSingleShot(True) self._close_timer.timeout.connect(self.close) self._close_timer.timeout.connect(self.sig_closed) self._close_timer.setInterval(300) self._is_first_close = True self._pos_ani = QtCore.QPropertyAnimation(self) self._pos_ani.setTargetObject(self) self._pos_ani.setEasingCurve(QtCore.QEasingCurve.OutCubic) self._pos_ani.setDuration(300) self._pos_ani.setPropertyName(b"pos") self._opacity_ani = QtCore.QPropertyAnimation() self._opacity_ani.setTargetObject(self) self._opacity_ani.setDuration(300) self._opacity_ani.setEasingCurve(QtCore.QEasingCurve.OutCubic) self._opacity_ani.setPropertyName(b"windowOpacity") self._opacity_ani.setStartValue(0.0) self._opacity_ani.setEndValue(1.0)
def _init_ui(self): self.app_data = [{ 'text': 'Maya', 'icon': MIcon('app-maya.png') }, { 'text': 'Nuke', 'icon': MIcon('app-nuke.png') }, { 'text': 'Houdini', 'icon': MIcon('app-houdini.png') }] radio_group_h = MCheckBoxGroup() radio_group_v = MCheckBoxGroup(orientation=Qt.Vertical) radio_group_h.set_button_list(self.app_data) radio_group_v.set_button_list(self.app_data) self.data_list = [u'北京', u'上海', u'广州', u'深圳', u'郑州', u'石家庄'] radio_group_b = MCheckBoxGroup() radio_group_b.set_button_list(self.data_list) button = MPushButton(text='Change Value') button.clicked.connect(self.slot_button_clicked) label = MLabel() self.register_field('checked_app', [u'北京', u'郑州']) self.register_field('checked_app_text', lambda: u' & '.join(self.field('checked_app'))) self.bind('checked_app', radio_group_b, 'dayu_checked', signal='sig_checked_changed') self.bind('checked_app_text', label, 'text') radio_group_tri = MCheckBoxGroup() radio_group_tri.set_button_list(self.app_data) self.register_field('check_grp', [u'Maya']) self.bind('check_grp', radio_group_tri, 'dayu_checked', signal='sig_checked_changed') main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Orientation Qt.Horizontal')) main_lay.addWidget(radio_group_h) main_lay.addWidget(MDivider('Orientation Qt.Vertical')) main_lay.addWidget(radio_group_v) main_lay.addWidget(MDivider('Data Bind')) main_lay.addWidget(radio_group_b) main_lay.addWidget(label) main_lay.addWidget(button) main_lay.addWidget(MDivider('Try Context Menu')) main_lay.addWidget(radio_group_tri) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): main_lay = QVBoxLayout() main_lay.addWidget(MDivider('no size grip')) main_lay.addWidget(MTextEdit(self)) main_lay.addWidget(MDivider('size grip')) main_lay.addWidget(MTextEdit(self).resizeable()) main_lay.addWidget(MPushButton('text').primary()) self.setLayout(main_lay)
def _init_ui(self): main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("no size grip")) main_lay.addWidget(MTextEdit(self)) main_lay.addWidget(MDivider("size grip")) main_lay.addWidget(MTextEdit(self).resizeable()) main_lay.addWidget(MPushButton("text").primary()) self.setLayout(main_lay)
def _init_ui(self): standalone_lay = QHBoxLayout() standalone_lay.addWidget(MBadge.count(0)) standalone_lay.addWidget(MBadge.count(20)) standalone_lay.addWidget(MBadge.count(100)) standalone_lay.addWidget(MBadge.dot(True)) standalone_lay.addWidget(MBadge.text('new')) standalone_lay.addStretch() button = MToolButton().svg('trash_line.svg') avatar = MAvatar.large(MPixmap('avatar.png')) button_alert = MToolButton().svg('alert_fill.svg').large() badge_1 = MBadge.dot(True, widget=button) badge_2 = MBadge.dot(True, widget=avatar) badge_3 = MBadge.dot(True, widget=button_alert) button.clicked.connect(lambda: badge_1.set_dayu_dot(False)) spin_box = MSpinBox() spin_box.setRange(0, 9999) spin_box.valueChanged.connect(badge_3.set_dayu_count) spin_box.setValue(1) self.register_field('button1_selected', u'北京') menu1 = MMenu() menu1.set_data([u'北京', u'上海', u'广州', u'深圳']) select1 = MComboBox() select1.set_menu(menu1) self.bind('button1_selected', select1, 'value', signal='sig_value_changed') badge_hot = MBadge.text('hot', widget=MLabel(u'你的理想城市 ')) sub_lay1 = QHBoxLayout() sub_lay1.addWidget(badge_1) sub_lay1.addWidget(badge_2) sub_lay1.addWidget(badge_3) sub_lay1.addStretch() sub_lay2 = QHBoxLayout() sub_lay2.addWidget(badge_hot) sub_lay2.addWidget(select1) sub_lay2.addStretch() main_lay = QVBoxLayout() main_lay.addWidget(MDivider('use standalone')) main_lay.addLayout(standalone_lay) main_lay.addWidget(MDivider('different type')) main_lay.addLayout(sub_lay1) main_lay.addWidget(spin_box) main_lay.addWidget(MDivider('different type')) main_lay.addLayout(sub_lay2) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): # header_list = [Column.load(c) for c in mock.header_list] header_list = mock.column_list model_1 = MTableModel() model_1.set_header_list(header_list) model_sort = MSortFilterModel() model_sort.setSourceModel(model_1) table_small = MTableView(size=dayu_theme.small, show_row_count=True) table_grid = MTableView(size=dayu_theme.small, show_row_count=True) table_grid.setShowGrid(True) table_default = MTableView(size=dayu_theme.medium, show_row_count=True) thread = MFetchDataThread(self) self.loading_wrapper = MLoadingWrapper(widget=table_default, loading=False) thread.started.connect( functools.partial(self.loading_wrapper.set_dayu_loading, True)) thread.finished.connect( functools.partial(self.loading_wrapper.set_dayu_loading, False)) thread.finished.connect( functools.partial(table_default.setModel, model_sort)) button = MPushButton(text='Get Data: 4s') button.clicked.connect(thread.start) switch_lay = QHBoxLayout() switch_lay.addWidget(button) switch_lay.addStretch() table_large = MTableView(size=dayu_theme.large, show_row_count=False) table_small.setModel(model_sort) table_grid.setModel(model_sort) table_large.setModel(model_sort) model_sort.set_header_list(header_list) table_small.set_header_list(header_list) table_grid.set_header_list(header_list) table_default.set_header_list(header_list) table_large.set_header_list(header_list) model_1.set_data_list(mock.data_list) line_edit = MLineEdit().search().small() line_edit.textChanged.connect(model_sort.set_search_pattern) main_lay = QVBoxLayout() main_lay.addWidget(line_edit) main_lay.addWidget(MDivider('Small Size')) main_lay.addWidget(table_small) main_lay.addWidget(MDivider('Default Size')) main_lay.addLayout(switch_lay) main_lay.addWidget(self.loading_wrapper) main_lay.addWidget(MDivider('Large Size (Hide Row Count)')) main_lay.addWidget(table_large) main_lay.addWidget(MDivider('With Grid')) main_lay.addWidget(table_grid) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): model_1 = MTableModel() model_1.set_header_list(mock.header_list) model_sort = MSortFilterModel() model_sort.setSourceModel(model_1) table_small = MTableView(size=dayu_theme.small, show_row_count=True) table_grid = MTableView(size=dayu_theme.small, show_row_count=True) table_grid.setShowGrid(True) table_default = MTableView(size=dayu_theme.medium, show_row_count=True) thread = MFetchDataThread(self) self.loading_wrapper = MLoadingWrapper(widget=table_default, loading=False) thread.started.connect( functools.partial(self.loading_wrapper.set_dayu_loading, True)) thread.finished.connect( functools.partial(self.loading_wrapper.set_dayu_loading, False)) thread.finished.connect( functools.partial(table_default.setModel, model_sort)) button = MPushButton(text="Get Data: 4s") button.clicked.connect(thread.start) switch_lay = QtWidgets.QHBoxLayout() switch_lay.addWidget(button) switch_lay.addStretch() table_large = MTableView(size=dayu_theme.large, show_row_count=False) table_small.setModel(model_sort) table_grid.setModel(model_sort) table_large.setModel(model_sort) model_sort.set_header_list(mock.header_list) table_small.set_header_list(mock.header_list) table_grid.set_header_list(mock.header_list) table_default.set_header_list(mock.header_list) table_large.set_header_list(mock.header_list) model_1.set_data_list(mock.data_list) line_edit = MLineEdit().search().small() line_edit.textChanged.connect(model_sort.set_search_pattern) main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(line_edit) main_lay.addWidget(MDivider("Small Size")) main_lay.addWidget(table_small) main_lay.addWidget(MDivider("Default Size")) main_lay.addLayout(switch_lay) main_lay.addWidget(self.loading_wrapper) main_lay.addWidget(MDivider("Large Size (Hide Row Count)")) main_lay.addWidget(table_large) main_lay.addWidget(MDivider("With Grid")) main_lay.addWidget(table_grid) main_lay.addStretch() main_lay.addWidget( MAlert('Simply use "MItemViewSet" or "MItemViewFullSet"')) self.setLayout(main_lay)
def __init__(self, parent=None): super(AlertExample, self).__init__(parent) self.setWindowTitle("Example for MAlert") main_lay = QtWidgets.QVBoxLayout() self.setLayout(main_lay) main_lay.addWidget(MDivider("different type")) main_lay.addWidget( MAlert(text="Information Message", parent=self).info()) main_lay.addWidget( MAlert(text="Success Message", parent=self).success()) main_lay.addWidget( MAlert(text="Warning Message", parent=self).warning()) main_lay.addWidget(MAlert(text="Error Message", parent=self).error()) closable_alert = MAlert("Some Message", parent=self).closable() main_lay.addWidget(MLabel("不同的提示信息类型")) main_lay.addWidget(MDivider("closable")) main_lay.addWidget(closable_alert) main_lay.addWidget(MDivider("data bind")) self.register_field("msg", "") self.register_field("msg_type", MAlert.InfoType) data_bind_alert = MAlert(parent=self) data_bind_alert.set_closable(True) self.bind("msg", data_bind_alert, "dayu_text") self.bind("msg_type", data_bind_alert, "dayu_type") button_grp = MPushButtonGroup() button_grp.set_button_list([ { "text": "error", "clicked": functools.partial(self.slot_change_alert, "password is wrong", MAlert.ErrorType), }, { "text": "success", "clicked": functools.partial(self.slot_change_alert, "login success", MAlert.SuccessType), }, { "text": "no more error", "clicked": functools.partial(self.slot_change_alert, "", MAlert.InfoType), }, ]) main_lay.addWidget(button_grp) main_lay.addWidget(data_bind_alert) main_lay.addStretch()
def test_divider_init(qtbot, text, visible_text, orient, visible_orient, align): """Test MDivider init.""" divider = MDivider(text, orientation=orient, alignment=align) divider.show() assert divider._text_label.text() == text # when orient is vertical, hide the text_label and right_frame show = visible_orient and visible_text _asset_divider_perform(divider, show, align) qtbot.addWidget(divider)
def __init__(self, parent=None): super(CheckBoxExample, self).__init__(parent) self.setWindowTitle("Example for MCheckBox") grid_lay = QtWidgets.QGridLayout() for index, (text, state) in enumerate([ ("Unchecked", QtCore.Qt.Unchecked), ("Checked", QtCore.Qt.Checked), ("Partially", QtCore.Qt.PartiallyChecked), ]): check_box_normal = MCheckBox(text) check_box_normal.setCheckState(state) check_box_disabled = MCheckBox(text) check_box_disabled.setCheckState(state) check_box_disabled.setEnabled(False) grid_lay.addWidget(check_box_normal, 0, index) grid_lay.addWidget(check_box_disabled, 1, index) icon_lay = QtWidgets.QHBoxLayout() for text, icon in [ ("Maya", MIcon("app-maya.png")), ("Nuke", MIcon("app-nuke.png")), ("Houdini", MIcon("app-houdini.png")), ]: check_box_icon = MCheckBox(text) check_box_icon.setIcon(icon) icon_lay.addWidget(check_box_icon) check_box_bind = MCheckBox("Data Bind") label = MLabel() button = MPushButton(text="Change State") button.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", check_box_bind, "checked", signal="stateChanged") self.bind("checked_text", label, "text") main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("Basic")) main_lay.addLayout(grid_lay) main_lay.addWidget(MDivider("Icon")) main_lay.addLayout(icon_lay) main_lay.addWidget(MDivider("Data Bind")) main_lay.addWidget(check_box_bind) main_lay.addWidget(label) main_lay.addWidget(button) main_lay.addStretch() self.setLayout(main_lay)
def __init__(self, parent=None): super(RadioButtonExample, self).__init__(parent) self.setWindowTitle('Example for MRadioButton') widget_1 = QWidget() lay_1 = QHBoxLayout() lay_1.addWidget(MRadioButton('Maya')) lay_1.addWidget(MRadioButton('Nuke')) lay_1.addWidget(MRadioButton('Houdini')) widget_1.setLayout(lay_1) check_box_icon_1 = MRadioButton('Folder') check_box_icon_1.setIcon(MIcon('folder_fill.svg')) check_box_icon_2 = MRadioButton('Media') check_box_icon_2.setIcon(MIcon('media_fill.svg')) check_box_icon_3 = MRadioButton('User') check_box_icon_3.setIcon(MIcon('user_fill.svg')) check_box_icon_2.setChecked(True) widget_2 = QWidget() lay_2 = QHBoxLayout() lay_2.addWidget(check_box_icon_1) lay_2.addWidget(check_box_icon_2) lay_2.addWidget(check_box_icon_3) widget_2.setLayout(lay_2) check_box_single = MRadioButton(u'支付宝') check_box_single.setChecked(True) check_box_single.setEnabled(False) check_box_bind = MRadioButton('Data Bind') label = MLabel() button = MPushButton(text='Change State') button.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', check_box_bind, 'checked', signal='toggled') self.bind('checked_text', label, 'text') main_lay = QVBoxLayout() main_lay.addWidget(MDivider('Basic')) main_lay.addWidget(widget_1) main_lay.addWidget(check_box_single) main_lay.addWidget(MDivider('Icon')) main_lay.addWidget(widget_2) main_lay.addWidget(MDivider('Data Bind')) main_lay.addWidget(check_box_bind) main_lay.addWidget(label) main_lay.addWidget(button) main_lay.addStretch() self.setLayout(main_lay)
def _init_ui(self): standalone_lay = QtWidgets.QHBoxLayout() standalone_lay.addWidget(MBadge.count(0)) standalone_lay.addWidget(MBadge.count(20)) standalone_lay.addWidget(MBadge.count(100)) standalone_lay.addWidget(MBadge.dot(True)) standalone_lay.addWidget(MBadge.text("new")) standalone_lay.addStretch() button = MToolButton().svg("trash_line.svg") avatar = MAvatar.large(MPixmap("avatar.png")) button_alert = MToolButton().svg("alert_fill.svg").large() badge_1 = MBadge.dot(True, widget=button) badge_2 = MBadge.dot(True, widget=avatar) badge_3 = MBadge.dot(True, widget=button_alert) button.clicked.connect(lambda: badge_1.set_dayu_dot(False)) spin_box = MSpinBox() spin_box.setRange(0, 9999) spin_box.valueChanged.connect(badge_3.set_dayu_count) spin_box.setValue(1) self.register_field("button1_selected", "北京") menu1 = MMenu(parent=self) menu1.set_data(["北京", "上海", "广州", "深圳"]) select1 = MComboBox() select1.set_menu(menu1) self.bind("button1_selected", select1, "value", signal="sig_value_changed") badge_hot = MBadge.text("hot", widget=MLabel("你的理想城市 ")) sub_lay1 = QtWidgets.QHBoxLayout() sub_lay1.addWidget(badge_1) sub_lay1.addWidget(badge_2) sub_lay1.addWidget(badge_3) sub_lay1.addStretch() sub_lay2 = QtWidgets.QHBoxLayout() sub_lay2.addWidget(badge_hot) sub_lay2.addWidget(select1) sub_lay2.addStretch() main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("use standalone")) main_lay.addLayout(standalone_lay) main_lay.addWidget(MDivider("different type")) main_lay.addLayout(sub_lay1) main_lay.addWidget(spin_box) main_lay.addWidget(MDivider("different type")) main_lay.addLayout(sub_lay2) main_lay.addStretch() self.setLayout(main_lay)
def __init__(self, parent=None): super(RadioButtonExample, self).__init__(parent) self.setWindowTitle("Example for MRadioButton") widget_1 = QtWidgets.QWidget() lay_1 = QtWidgets.QHBoxLayout() lay_1.addWidget(MRadioButton("Maya")) lay_1.addWidget(MRadioButton("Nuke")) lay_1.addWidget(MRadioButton("Houdini")) widget_1.setLayout(lay_1) check_box_icon_1 = MRadioButton("Folder") check_box_icon_1.setIcon(MIcon("folder_fill.svg")) check_box_icon_2 = MRadioButton("Media") check_box_icon_2.setIcon(MIcon("media_fill.svg")) check_box_icon_3 = MRadioButton("User") check_box_icon_3.setIcon(MIcon("user_fill.svg")) check_box_icon_2.setChecked(True) widget_2 = QtWidgets.QWidget() lay_2 = QtWidgets.QHBoxLayout() lay_2.addWidget(check_box_icon_1) lay_2.addWidget(check_box_icon_2) lay_2.addWidget(check_box_icon_3) widget_2.setLayout(lay_2) check_box_single = MRadioButton("支付宝") check_box_single.setChecked(True) check_box_single.setEnabled(False) check_box_bind = MRadioButton("Data Bind") label = MLabel() button = MPushButton(text="Change State") button.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", check_box_bind, "checked", signal="toggled") self.bind("checked_text", label, "text") main_lay = QtWidgets.QVBoxLayout() main_lay.addWidget(MDivider("Basic")) main_lay.addWidget(widget_1) main_lay.addWidget(check_box_single) main_lay.addWidget(MDivider("Icon")) main_lay.addWidget(widget_2) main_lay.addWidget(MDivider("Data Bind")) main_lay.addWidget(check_box_bind) main_lay.addWidget(label) main_lay.addWidget(button) main_lay.addStretch() self.setLayout(main_lay)