def ui(self): self.color_buttons = list() super(BaseColorDialog, self).ui() grid_layout = layouts.GridLayout() grid_layout.setAlignment(Qt.AlignTop) self.main_layout.addLayout(grid_layout) color_index = 0 for i in range(0, 4): for j in range(0, 8): color_btn = QPushButton() color_btn.setMinimumHeight(35) color_btn.setMinimumWidth(35) self.color_buttons.append(color_btn) color_btn.setStyleSheet( 'background-color:rgb(%s,%s,%s);' % (self.maya_colors[color_index][0] * 255, self.maya_colors[color_index][1] * 255, self.maya_colors[color_index][2] * 255)) grid_layout.addWidget(color_btn, i, j) color_index += 1 selected_color_layout = layouts.HorizontalLayout() self.main_layout.addLayout(selected_color_layout) self.color_slider = QSlider(Qt.Horizontal) self.color_slider.setMinimum(0) self.color_slider.setMaximum(31) self.color_slider.setValue(2) self.color_slider.setStyleSheet( "QSlider::groove:horizontal {border: 1px solid #999999;height: 25px; /* the groove expands " "to the size of the slider by default. by giving it a height, it has a fixed size */background: " "qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4);margin: 2px 0;}" "QSlider::handle:horizontal {background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #b4b4b4," " stop:1 #8f8f8f);border: 1px solid #5c5c5c;width: 10px;margin: -2px 0; /* handle is placed by " "default on the contents rect of the groove. Expand outside the groove */border-radius: 1px;}" ) selected_color_layout.addWidget(self.color_slider) color_label_layout = layouts.HorizontalLayout(margins=(10, 10, 10, 10)) self.main_layout.addLayout(color_label_layout) self.color_lbl = QLabel() self.color_lbl.setStyleSheet( "border: 1px solid black; background-color:rgb(0, 0, 0);") self.color_lbl.setMinimumWidth(45) self.color_lbl.setMaximumWidth(80) self.color_lbl.setMinimumHeight(80) self.color_lbl.setAlignment(Qt.AlignCenter) color_label_layout.addWidget(self.color_lbl) bottom_layout = layouts.HorizontalLayout() bottom_layout.setAlignment(Qt.AlignRight) self.main_layout.addLayout(bottom_layout) self.ok_btn = QPushButton('Ok') self.cancel_btn = QPushButton('Cancel') bottom_layout.addLayout(dividers.DividerLayout()) bottom_layout.addWidget(self.ok_btn) bottom_layout.addWidget(self.cancel_btn)
def create_flat_button( icon=None, icon_size=None, name='', text=200, background_color=[54, 51, 51], ui_color=68, border_color=180, push_col=120, checkable=True, w_max=None, w_min=None, h_max=None, h_min=None, policy=None, tip=None, flat=True, hover=True, destroy_flag=False, context=None, ): btn = QPushButton() btn.setText(name) btn.setCheckable(checkable) if icon: if isinstance(icon, QIcon): btn.setIcon(icon) else: btn.setIcon(QIcon(icon)) btn.setFlat(flat) if flat: change_button_color(button=btn, text_color=text, bg_color=ui_color, hi_color=background_color, mode='button', hover=hover, destroy=destroy_flag, ds_color=border_color) btn.toggled.connect( lambda: change_button_color(button=btn, text_color=text, bg_color=ui_color, hi_color=background_color, mode='button', toggle=True, hover=hover, destroy=destroy_flag, ds_color=border_color)) else: change_button_color(button=btn, text_color=text, bg_color=background_color, hi_color=push_col, mode='button', hover=hover, destroy=destroy_flag, ds_color=border_color) if w_max: btn.setMaximumWidth(w_max) if w_min: btn.setMinimumWidth(w_min) if h_max: btn.setMaximumHeight(h_max) if h_min: btn.setMinimumHeight(h_min) if icon_size: btn.setIconSize(QSize(*icon_size)) if policy: btn.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Expanding) if tip: btn.setToolTip(tip) if context: btn.setContextMenuPolicy(Qt.CustomContextMenu) btn.customContextMenuRequested.connect(context) return btn