Как менять цвет текста в python
На этом шаге мы рассмотрим инструменты для решения указанной задачи .
- Active и Normal — компонент активен (окно находится в фокусе ввода);
- Disabled (значение 1) — компонент недоступен;
- Inactive (значение 2) — компонент неактивен (окно находится вне фокуса ввода).
Получить текущую палитру компонента позволяет его метод palette() . Чтобы изменить цвет для какой-либо роли и состояния, следует воспользоваться методом setColor() класса QPalette . Формат метода:
setColor ([Состояние>, ]Роль>, Цвет>)
В параметре < Роль >указывается, для какого элемента изменяется цвет. Например, атрибут Window (или Background ) изменяет цвет фона, a WindowText (или Foreground ) — цвет текста. Полный список атрибутов имеется в документации по классу QPalette (см. https://doc.qt.io/qt-5/qpalette.html ).
В параметре < Цвет >указывается цвет элемента. В качестве значения можно указать атрибут из класса QtCore.Qt (например, black , white и т. д.) или экземпляр класса QColor (например, QColor(«red») , QColor(«#ff0000») , QColor(255, 0, 0) и др.).
После настройки палитры необходимо вызвать метод setPalette() компонента и передать этому методу измененный объект палитры. Следует помнить, что компоненты-потомки по умолчанию имеют прозрачный фон и не перерисовываются автоматически. Чтобы включить перерисовку, необходимо передать значение True методу setAutoFillBackground() окна.
Изменить цвет фона можно также с помощью CSS -атрибута background-соlor . Для этого следует передать таблицу стилей в метод setStyleSheet() компонента. Таблицы стилей могут быть внешними (подключение через командную строку), установленными на уровне приложения (с помощью метода setStyleSheet() класса QApplication ) или установленными на уровне компонента (с помощью метода setStyleSheet() класса QWidget ). Атрибуты, установленные последними, обычно перекрывают значения аналогичных атрибутов, указанных ранее. Если вы занимались Web -программированием, то CSS вам уже знаком, а если нет, то придется дополнительно изучить HTML и CSS .
Создадим окно с надписью. Для активного окна установим зеленый цвет, а для неактивного — красный. Цвет фона надписи сделаем белым. Для изменения фона окна используем палитру, а для изменения цвета фона надписи — CSS -атрибут background-соlor .
# -*- coding: utf-8 -*- from PyQt5 import QtCore, QtGui, QtWidgets import sys app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.setWindowTitle("Изменение цвета фона окна") window.resize(300, 100) pal = window.palette() pal.setColor(QtGui.QPalette.Normal, QtGui.QPalette.Window, QtGui.QColor("#008800")) pal.setColor(QtGui.QPalette.Inactive, QtGui.QPalette.Window, QtGui.QColor("#ff0000")) window.setPalette(pal) label = QtWidgets.QLabel("Текст надписи") label.setAlignment(QtCore.Qt.AlignHCenter) label.setStyleSheet("background-color: #ffffff;") label.setAutoFillBackground(True) vbox = QtWidgets.QVBoxLayout() vbox.addWidget(label) window.setLayout(vbox) window.show() sys.exit(app.exec_())
Архив с файлом можно взять здесь.
Результат работы приложения изображен на рисунке 1.
Рис.1. Внешний вид активного (вверху) и неактивного (внизу) окна
На следующем шаге мы рассмотрим вывод изображения в качестве фона .
Как изменить цвет текста в HTML

Изменение цвета текста в HTML выполняется довольно просто (впрочем, как и почти все остальные действия с HTML). Но, прежде чем рассказать об этом, я немного пройдусь по вопросу безопасных цветов.
Что такое безопасный цвет HTML
Постараюсь быть кратким. Суть в том, что современные компьютеры для кодирования цвета используют довольно большие числа. И, соответственно, в этих больших числах можно закодировать очень большое количество оттенков. Но беда в том, что многие видеокарты и мониторы не могут правильно отобразить ВСЕ эти оттенки. Поэтому, например, цвет, код которого FFFFAA, на вашем мониторе может выглядеть иначе, чем на мониторе другого пользователя. Также декодирование цветов может отличаться в зависимости от операционной системы пользователя (Windows может декодировать цвет не так, как, например, Mac).
Чтобы этого избежать, веб-мастера стараются использовать так называемые безопасные цвета. То есть цвета, которые с высокой долей вероятности будут одинаково отображаться на всех мониторах.
Существует таблица безопасных цветов, в которой перечислены эти цвета. Именно этот набор цветов желательно использовать при создании веб-страниц.
Надо сказать, что в наше время это уже не так значимо, поскольку почти у всех современные мониторы, видеокарты и браузеры. Поэтому, конечно, вы можете использовать и другие цвета, “НЕ безопасные”. Однако без особой надобности этого всё-таки лучше не делать, и работать по возможности с безопасными цветами.
Как поменять цвет текста в HTML
Поскольку мои статьи рассчитаны на начинающих, то я, во-первых, не рассказываю о всех способах, а во-вторых, не всегда использую самые современные технологии. Если вы хотите изучить в полной мере современную вёрстку сайтов, то вам сюда.
А здесь я расскажу только об одном старом добром способе, который использует тег цвета текста в HTML — тег (точнее, этот тег может изменять не только цвет, но об этом как-нибудь в другой раз).
С одной стороны, этот тег признан нежелательным стандартами HTML4 и XHTML. Но с другой стороны, он поддерживается всеми браузерами, в том числе и устаревшими.
Это парный тег (то есть наличие закрывающего тега обязательно). С помощью этого тега можно установить шрифт, его размер и цвет. Но мы пока будем говорить только о цвете.
Тег может иметь несколько разных атрибутов. Для изменения цвета используется атрибут color .
Значение этого атрибута может быть введено одним из двух способов:
- Как определение красного, зелёного и синего (RGB).
- Как стандартное название цвета.
Следующий текст будет красным. Следующий текст будет тоже красным.
Значение атрибута лучше заключать в кавычки (хотя это и необязательно).
Цветовая модель RGB
В цветовой модели RGB обозначение цвета представляет собой шестизначное шестнадцатеричное число. Для обозначения кода цвета в HTML перед этим числом должен быть знак решётки (#).
Первые две цифры определяют насыщенность красного цвета (от 00 — нет красного, до FF — ярко-красный. Таким же образом определяется насыщенность для зелёного (следующие две цифры) и синего (последние две цифры). Таким образом формат числа, с помощью которого кодируется цвет, следующий:
# RR GG BB
Где RR — красная составляющая, GG — зелёная, BB — синяя.
Чёрный цвет — это отсутствие “свечения” всех составляющих — #000000, а белый цвет — это наибольшая насыщенность RGB — #FFFFFF.
Также можно использовать сокращённую запись, когда вместо двух цифр используется одна:
Следующий текст будет тоже красным.
В этом случае формат записи числа будет таким:
# R G B
ВНИМАНИЕ!
Некоторые бразуеры не поддерживают такой формат записи цветового кода.
Названия цветов HTML
Как уже было сказано, вместо числового кода для обозначения цвета можно использовать название цвета. Во многих случаях это более удобно и более понятно.
В стандартах HTML4 и XHTML определены следующие названия цветов (в скобках указаны RGB-коды):
aqua (#00FFFF) gray (#808080) navy (#000080) silver (#C0C0C0) black (#FFFFFF) green (#008000) olive (#808000) teal (#008080) blue (#0000FF) lime (#00FF00) purple (#800080) yellow (#FFFF00) fuchsia (#FF00FF) maroon (#800000) red (#FF0000) white (#FFFFFF)
Однако современные браузеры поддерживают намного больше названий цветов. Но я их здесь не привожу, потому что уход от стандартов может привести к неприятным последствиям — вы ведь в большинстве случаев не можете знать, какой браузер будет у пользователя, и будет ли он поддерживать имена цветов, которые не определены стандартом.
Хотя о цветах HTML можно рассказывать ещё долго, я на этом закончу, потому как для начала данных более чем достаточно. Ну а если хотите постичь все премудрости вёрстки сайтов, то советую обратить внимание на этот видеокурс.
Цвета
Передача значения через цвет с помощью нескольких полезных классов. Включает поддержку ссылок на стиль в hover-состоянии.
Цвет
class="text-primary">.text-primary class="text-secondary">.text-secondary class="text-success">.text-success class="text-danger">.text-danger class="text-warning">.text-warning class="text-info">.text-info class="text-light bg-dark">.text-light class="text-dark">.text-dark class="text-muted">.text-muted class="text-white bg-dark">.text-white
Классы контекстуального текста также работают хорошо на ссылках, где заданы hover и focus. Заметьте, что классы .text-white and .text-muted не имеют ссылочной стилизации.
href="#" class="text-primary">Primary link
href="#" class="text-secondary">Secondary link
href="#" class="text-success">Success link
href="#" class="text-danger">Danger link
href="#" class="text-warning">Warning link
href="#" class="text-info">Info link
href="#" class="text-light bg-dark">Light link
href="#" class="text-dark">Dark link
href="#" class="text-muted">Muted link
href="#" class="text-white bg-dark">White link
Цвет фона
Как и в цветовых классах контекстуального текста, задавайте фон любому контекстуальному классу. Компоненты ссылки будут затемняться по наведению, как и классы текста. В утилитах фона не задается атрибут color , так что в некоторых случаях вам понадобится утилиты .text-* .
.bg-secondary
class="p-3 mb-2 bg-primary text-white">.bg-primary class="p-3 mb-2 bg-secondary text-white">.bg-secondary class="p-3 mb-2 bg-success text-white">.bg-success class="p-3 mb-2 bg-danger text-white">.bg-danger class="p-3 mb-2 bg-warning text-dark">.bg-warning class="p-3 mb-2 bg-info text-white">.bg-info class="p-3 mb-2 bg-light text-dark">.bg-light class="p-3 mb-2 bg-dark text-white">.bg-dark class="p-3 mb-2 bg-white text-dark">.bg-white
Градиентный фон
Когда карта $enable-gradients задана как true, вы сможете использовать классы .bg-gradient- . По умолчанию карта $enable-gradients деактивирована, а код примера ниже специально «сломан». Это сделано для более легкой настройки с самого начала пользования Bootstrap. Узнайте о параметрах Sass, об активации этих классов и т.д.
.bg-gradient-primary
.bg-gradient-secondary
.bg-gradient-success
.bg-gradient-danger
.bg-gradient-warning
.bg-gradient-info
.bg-gradient-light
.bg-gradient-dark
class="p-3 mb-2 bg-gradient-primary text-white">.bg-gradient-primary class="p-3 mb-2 bg-gradient-secondary text-white">.bg-gradient-secondary class="p-3 mb-2 bg-gradient-success text-white">.bg-gradient-success class="p-3 mb-2 bg-gradient-danger text-white">.bg-gradient-danger class="p-3 mb-2 bg-gradient-warning text-dark">.bg-gradient-warning class="p-3 mb-2 bg-gradient-info text-white">.bg-gradient-info class="p-3 mb-2 bg-gradient-light text-dark">.bg-gradient-light class="p-3 mb-2 bg-gradient-dark text-white">.bg-gradient-dark
Специфические случаи
Иногда контекстуальные классы нельзя применять из-за специфики другого селектора. В некоторых случаях эффективным «костылем» может стать оборачивание содержимого вашего элемента в с классом.
Использование вспомогательных технологий
Использование цвета как дополнительного инструмента информативности доступно только в визуальной сфере, что ограничивает пользователей вспомогательных технологий, например, программ для чтения текста с экрана. Удостоверьтесь, что информация, обозначенная цветом, также доступна из самого контента (т.е. в тексте) или содержится в альтернативных средствах – таких как дополнительный скрытый в классе .sr-only текст.
Изменение символов по цвету
Изменение цвета символов наряду с цветовой схемой- это хороший способ показать количественные различия атрибута. Например, точечные символы, показывающие станции наблюдения, можно раскрасить цветами в красно-синей гамме, чтобы показать относительную температуру снятых показателей. Разница в цвете линейных символов, представляющих дороги, может показывать плотность трафика или скорость.

В этой 3D-сцене Нью Йорка используется научная цветовая схема в качестве визуальной переменной для выделения более высоких зданий.
Самый простой способ настроить цвета символов — это задать для слоя один из цветовых вариантов условных обозначений. Уникальные значения задает разные цвета для уникальных значений выбранного поля атрибутов. Можно выполнить пользовательскую настройку, изменив каждый символ, а также добавив, сгруппировав или обновив значения. Градуированные цвета – показывают количественные различия объектов благодаря спектру цветов. Неклассифицированные цвета показывает разницу в значениях атрибутов, назначая случайные цвета разным объектам. Либо можно выбрать один из вариантов условных знаков, основанных на размере символов, при котором цветом будет показываться значение другого поля или выражения. Кроме того вы можете контролировать свойства цвета символа слоя, настроит их по полю, в котором хранятся шестизначные коды цветов. Теоретически можно применить одновременно несколько этих вариантов к одному слою, следите за тем, чтобы результат не оказался слишком сложным для восприятия. Используйте эту технику с умом.
Задание переменной цвета на основе поля или выражения
Когда слой отображается с помощью единого символа, уникальных значений, градуированных символов или пропорциональных символов, цветом символов также можно управлять. Можно задать изменение цвета на основе числового атрибута или написать выражение. Атрибут при этом можно использовать тот же, а можно другой. Выберите цветовую схему, которая будет применена к диапазону значений.
Например, точечный слой, представляющий землетрясения, показывается с помощью градуированных круговых символов, размер кружка соответствует магнитуде землетрясения. Переменная цвета, заданная на основе числового поля, которое обозначает ущерб, будет показывать для каждого круга цветом степень разрушения.
Примечание:
При работе с переменными цвета для полигональных объектов, цвет будет применяться к символу шаблона (точки), а не фона (полигона).
Чтобы задать переменную цвета на основе поля или выражения, выполните следующие шаги:
- Выберите слой объектов на панели
Внимание:

- Выражения в слое не сохранятся при задании считывания переменной цвета из поля вместо выражения. Можно сохранить выражение в диалоговом окне Конструктор выражений , щелкнув перед внесением изменений Экспорт .
- Если вы публикуете точечный векторный слой, который использует переменную цвета, помните, что любой точечный символ, отличный от простого круга или квадрата, на итоговой веб-карте будет показываться кружком.
Связанные разделы
- Цвет символов, управляемый атрибутами
- Цвет
- Использование символьных гистограмм