def update(): validator = edit.validator() if validator is not None and edit.text().strip(): state, _, _ = validator.validate(edit.text(), 0) else: state = QValidator.Acceptable palette = edit.palette() colors = { QValidator.Intermediate: (Qt.yellow, Qt.black), QValidator.Invalid: (Qt.red, Qt.black), }.get(state, None) if colors is None: palette = QPalette() else: palette.setColor(QPalette.Base, colors[0]) palette.setColor(QPalette.Text, colors[1]) cr = edit.cursorRect() p = edit.mapToGlobal(cr.bottomRight()) edit.setPalette(palette) if state != QValidator.Acceptable and edit.isVisible(): validator.show_tip(edit, p, edit.toolTip(), textFormat=Qt.RichText) else: validator.show_tip(edit, p, "")
def test_update_palette(self): w = self.widget w.set_root(t(1.0, leaf(0, 0), leaf(1, 1))) w.setSelectedClusters([w.root()]) p = QPalette() p.setColor(QPalette.All, QPalette.WindowText, QColor(Qt.red)) w.setPalette(p) item = w.item(w.root()) self.assertEqual(item.pen().color(), p.color(QPalette.WindowText))
def __init__(self, parent=None, **kwargs): super(AddonManagerWidget, self).__init__(parent, **kwargs) self.__items = [] self.setLayout(QVBoxLayout()) self.__header = QLabel( wordWrap=True, textFormat=Qt.RichText ) self.__search = QLineEdit( placeholderText=self.tr("Filter") ) self.tophlayout = topline = QHBoxLayout() topline.addWidget(self.__search) self.layout().addLayout(topline) self.__view = view = QTreeView( rootIsDecorated=False, editTriggers=QTreeView.NoEditTriggers, selectionMode=QTreeView.SingleSelection, alternatingRowColors=True ) self.__view.setItemDelegateForColumn(0, TristateCheckItemDelegate()) self.layout().addWidget(view) self.__model = model = QStandardItemModel() model.setHorizontalHeaderLabels(["", "Name", "Version", "Action"]) model.dataChanged.connect(self.__data_changed) self.__proxy = proxy = QSortFilterProxyModel( filterKeyColumn=1, filterCaseSensitivity=Qt.CaseInsensitive ) proxy.setSourceModel(model) self.__search.textChanged.connect(proxy.setFilterFixedString) view.setModel(proxy) view.selectionModel().selectionChanged.connect( self.__update_details ) header = self.__view.header() header.setSectionResizeMode(0, QHeaderView.Fixed) header.setSectionResizeMode(2, QHeaderView.ResizeToContents) self.__details = QTextBrowser( frameShape=QTextBrowser.NoFrame, readOnly=True, lineWrapMode=QTextBrowser.WidgetWidth, openExternalLinks=True, ) self.__details.setWordWrapMode(QTextOption.WordWrap) palette = QPalette(self.palette()) palette.setColor(QPalette.Base, Qt.transparent) self.__details.setPalette(palette) self.layout().addWidget(self.__details)
def __init__(self, parent=None, **kwargs): super(AddonManagerWidget, self).__init__(parent, **kwargs) #: list of Available | Installed self.__items = [] self.setLayout(QVBoxLayout()) self.__header = QLabel( wordWrap=True, textFormat=Qt.RichText ) self.__search = QLineEdit( placeholderText=self.tr("Filter") ) self.layout().addWidget(self.__search) self.__view = view = QTreeView( rootIsDecorated=False, editTriggers=QTreeView.NoEditTriggers, selectionMode=QTreeView.SingleSelection, alternatingRowColors=True ) self.__view.setItemDelegateForColumn(0, TristateCheckItemDelegate()) self.layout().addWidget(view) self.__model = model = QStandardItemModel() model.setHorizontalHeaderLabels(["", "Name", "Version", "Action"]) model.dataChanged.connect(self.__data_changed) proxy = QSortFilterProxyModel( filterKeyColumn=1, filterCaseSensitivity=Qt.CaseInsensitive ) proxy.setSourceModel(model) self.__search.textChanged.connect(proxy.setFilterFixedString) view.setModel(proxy) view.selectionModel().selectionChanged.connect( self.__update_details ) header = self.__view.header() header.setSectionResizeMode(0, QHeaderView.Fixed) header.setSectionResizeMode(2, QHeaderView.ResizeToContents) self.__details = QTextBrowser( frameShape=QTextBrowser.NoFrame, readOnly=True, lineWrapMode=QTextBrowser.WidgetWidth, openExternalLinks=True, ) self.__details.setWordWrapMode(QTextOption.WordWrap) palette = QPalette(self.palette()) palette.setColor(QPalette.Base, Qt.transparent) self.__details.setPalette(palette) self.layout().addWidget(self.__details)
def test_widget(self): w = HeatmapGridWidget() self.scene.addItem(w) for p in self._Data.values(): w.setHeatmaps(p) w.headerGeometry() w.footerGeometry() # Trigger the change events. p = QPalette() p.setColor(QPalette.All, QPalette.Text, Qt.red) w.setPalette(p) f = QFont() f.setPointSizeF(19.5) w.setFont(f)
def __init__(self): super().__init__() self.data = None # type: Optional[Table] self.model = FeatureStatisticsTableModel(parent=self) self.table_view = FeatureStatisticsTableView(self.model, parent=self) self.table_view.selectionModel().selectionChanged.connect( self.on_select) self.table_view.horizontalHeader().sectionClicked.connect( self.on_header_click) box = gui.vBox(self.controlArea) box.setContentsMargins(0, 0, 0, 4) pal = QPalette() pal.setColor(QPalette.Window, self.table_view.palette().color(QPalette.Base)) box.setAutoFillBackground(True) box.setPalette(pal) box.layout().addWidget(self.table_view) self.color_var_model = DomainModel( valid_types=(ContinuousVariable, DiscreteVariable), placeholder='None', ) self.cb_color_var = gui.comboBox(self.buttonsArea, master=self, value='color_var', model=self.color_var_model, label='Color:', orientation=Qt.Horizontal, contentsLength=13, searchable=True) self.cb_color_var.activated.connect(self.__color_var_changed) gui.rubber(self.buttonsArea) gui.auto_send(self.buttonsArea, self, "auto_commit")
def create_palette(light_color, color): """ Return a new :class:`QPalette` from for the :class:`NodeBodyItem`. """ palette = QPalette() palette.setColor(QPalette.Inactive, QPalette.Light, saturated(light_color, 50)) palette.setColor(QPalette.Inactive, QPalette.Midlight, saturated(light_color, 90)) palette.setColor(QPalette.Inactive, QPalette.Button, light_color) palette.setColor(QPalette.Active, QPalette.Light, saturated(color, 50)) palette.setColor(QPalette.Active, QPalette.Midlight, saturated(color, 90)) palette.setColor(QPalette.Active, QPalette.Button, color) palette.setColor(QPalette.ButtonText, QColor("#515151")) return palette
def breeze_dark(): # 'Breeze Dark' color scheme from KDE. text = QColor(239, 240, 241) textdisabled = QColor(98, 108, 118) window = QColor(49, 54, 59) base = QColor(35, 38, 41) highlight = QColor(61, 174, 233) link = QColor(41, 128, 185) light = QColor(69, 76, 84) mid = QColor(43, 47, 52) dark = QColor(28, 31, 34) shadow = QColor(20, 23, 25) palette = QPalette() palette.setColor(QPalette.Window, window) palette.setColor(QPalette.WindowText, text) palette.setColor(QPalette.Disabled, QPalette.WindowText, textdisabled) palette.setColor(QPalette.Base, base) palette.setColor(QPalette.AlternateBase, window) palette.setColor(QPalette.ToolTipBase, window) palette.setColor(QPalette.ToolTipText, text) palette.setColor(QPalette.Text, text) palette.setColor(QPalette.Disabled, QPalette.Text, textdisabled) palette.setColor(QPalette.Button, window) palette.setColor(QPalette.ButtonText, text) palette.setColor(QPalette.Disabled, QPalette.ButtonText, textdisabled) palette.setColor(QPalette.BrightText, Qt.white) palette.setColor(QPalette.Highlight, highlight) palette.setColor(QPalette.HighlightedText, text) palette.setColor(QPalette.Light, light) palette.setColor(QPalette.Mid, mid) palette.setColor(QPalette.Dark, dark) palette.setColor(QPalette.Shadow, shadow) palette.setColor(QPalette.Link, link) return palette
def create_palette(light_color, color): """ Return a new :class:`QPalette` from for the :class:`NodeBodyItem`. """ palette = QPalette() palette.setColor(QPalette.Inactive, QPalette.Light, saturated(light_color, 50)) palette.setColor(QPalette.Inactive, QPalette.Midlight, saturated(light_color, 90)) palette.setColor(QPalette.Inactive, QPalette.Button, light_color) palette.setColor(QPalette.Active, QPalette.Light, saturated(color, 50)) palette.setColor(QPalette.Active, QPalette.Midlight, saturated(color, 90)) palette.setColor(QPalette.Active, QPalette.Button, color) palette.setColor(QPalette.ButtonText, QColor("#515151")) return palette
def create_palette(colors): p = QPalette() for role, color in colors.items(): p.setColor(role, color) return p
def breeze_dark(): # 'Breeze Dark' color scheme from KDE. text = QColor(239, 240, 241) textdisabled = QColor(98, 108, 118) window = QColor(49, 54, 59) base = QColor(35, 38, 41) highlight = QColor(61, 174, 233) link = QColor(41, 128, 185) light = QColor(69, 76, 84) mid = QColor(43, 47, 52) dark = QColor(28, 31, 34) shadow = QColor(20, 23, 25) palette = QPalette() palette.setColor(QPalette.Window, window) palette.setColor(QPalette.WindowText, text) palette.setColor(QPalette.Disabled, QPalette.WindowText, textdisabled) palette.setColor(QPalette.Base, base) palette.setColor(QPalette.AlternateBase, window) palette.setColor(QPalette.ToolTipBase, window) palette.setColor(QPalette.ToolTipText, text) palette.setColor(QPalette.Text, text) palette.setColor(QPalette.Disabled, QPalette.Text, textdisabled) palette.setColor(QPalette.Button, window) palette.setColor(QPalette.ButtonText, text) palette.setColor(QPalette.Disabled, QPalette.ButtonText, textdisabled) palette.setColor(QPalette.BrightText, Qt.white) palette.setColor(QPalette.Highlight, highlight) palette.setColor(QPalette.HighlightedText, text) palette.setColor(QPalette.Light, light) palette.setColor(QPalette.Mid, mid) palette.setColor(QPalette.Dark, dark) palette.setColor(QPalette.Shadow, shadow) palette.setColor(QPalette.Link, link) return palette
def create_palette(colors): p = QPalette() for role, color in colors.items(): p.setColor(role, color) return p
def _make_palette(base: QColor, text: QColor, window: QColor, highlight: QColor, highlight_disabled: QColor, text_disabled: QColor, link: QColor, light: QColor, mid: QColor, dark: QColor, shadow: QColor): palette = QPalette() palette.setColor(QPalette.Window, window) palette.setColor(QPalette.WindowText, text) palette.setColor(QPalette.Disabled, QPalette.WindowText, text_disabled) palette.setColor(QPalette.Base, base) palette.setColor(QPalette.AlternateBase, window) palette.setColor(QPalette.ToolTipBase, window) palette.setColor(QPalette.ToolTipText, text) palette.setColor(QPalette.Text, text) palette.setColor(QPalette.Disabled, QPalette.Text, text_disabled) palette.setColor(QPalette.Button, window) palette.setColor(QPalette.ButtonText, text) palette.setColor(QPalette.Disabled, QPalette.ButtonText, text_disabled) palette.setColor(QPalette.BrightText, Qt.white) palette.setColor(QPalette.Highlight, highlight) palette.setColor(QPalette.Disabled, QPalette.Highlight, highlight_disabled) palette.setColor(QPalette.HighlightedText, text) palette.setColor(QPalette.Light, light) palette.setColor(QPalette.Mid, mid) palette.setColor(QPalette.Dark, dark) palette.setColor(QPalette.Shadow, shadow) palette.setColor(QPalette.Link, link) return palette