pyqt5 — Как изменить фон QLabel?
Как изменить фон QLabel? У меня есть много лейблов, поэтому нужно каждому менять индивидуально. Нужно поменять фон не всему класу QLabel, а индивидуально 1. Как получить класс определенного лейбла в каскадной таблице?
import PyQt5 from PyQt5 import QtCore, QtWidgets, QtGui from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget, QMainWindow, QAction, qApp from PyQt5.QtGui import QIcon HEIGHT = 750 WIDTH = 1300 class Menu(QWidget): def __init__(self, parent=None): super().__init__(parent) self.menubar = parent.menuBar() self.file = self.menubar.addMenu('&Опции') self.exitAction = QAction(QIcon('cross-exit.ico'), '&Exit', self) self.exitAction.setShortcut('Ctrl+Q') self.exitAction.setStatusTip('Exit application') self.exitAction.triggered.connect(parent.close) self.file.addAction(self.exitAction) def addMenu(self, actionName, text, command, icon, shortcut=None, statusTip=None) : self.actionName = QAction(QIcon(icon), text, self) if shortcut: self.actionName.setShortcut(shortcut) if statusTip: self.actionName.setStatusTip(statusTip) self.actionName.triggered.connect(command) self.file.insertAction(self.exitAction, self.actionName) class MainWindow(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.q = QDesktopWidget().availableGeometry() self.r_w, self.r_h = self.q.width(), self.q.height() self.setGeometry(self.r_w/2-WIDTH/2, self.r_h/2-HEIGHT/2, WIDTH, HEIGHT) self.w = self.size().width() self.h = self.size().height() print(self.w, self.h) self.setFixedSize(1300, 750) self.setWindowTitle('Lings') self.setWindowIcon(QIcon('Lings.ico')) self.label = QtWidgets.QLabel("sdsd", self) self.labelAnswer = QtWidgets.QLabel("", self) self.l_w, self.l_h = 500, 100 self. label.setAlignment(QtCore.Qt.AlignCenter) self.labelAnswer.resize(self.l_w, self.l_h) self.labelAnswer.move(self.w/2-self.l_w/2, 250) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.resize(self.l_w, self.l_h) self.label.move(self.w/2-self.l_w/2, 100) self.label.setFont(QtGui.QFont('Verdana', 24)) self.labelAnswer.setFont(QtGui.QFont('Verdana', 24)) self.label.setStyleSheet(".QLabel{\n" //Нужно поменять фон не всему класу QLabel, а индивидуально 1. Как получить класс определенного лейбла в каскадной таблице? "background-color: #E0FFFF\n" "\n" "}") self.label.setStyleSheet(".QLabel{\n" "background-color: #E0FFFF\n" "\n" "}") self.menu = Menu(self) self.menu.addMenu('action', 'New', lambda: SecondWindow(self), 'test.ico', shortcut="Ctrl+D", statusTip="Creating") self.show() class SecondWindow(QWidget): def __init__(self, parent=None): super(). __init__(parent, QtCore.Qt.Window) self.initUI() def initUI(self): self.q = QDesktopWidget().availableGeometry() self.r_w, self.r_h = self.q.width(), self.q.height() self.setGeometry(self.r_w/2-WIDTH/2, self.r_h/2-HEIGHT/2, WIDTH, HEIGHT) self.setFixedSize(1300, 800) self.setWindowTitle('Lings2') self.setWindowIcon(QIcon('Lings.ico')) self.mainLayout = QtWidgets.QVBoxLayout() self.buttons = [] for i in range(5): but = QtWidgets.QPushButton('button {}'.format(i), self) self.mainLayout.addWidget(but) self.buttons.append(but) self.setLayout(self.mainLayout) self.show() if __name__ == '__main__': app = QApplication(sys.argv) mainWindow = MainWindow() sys.exit(app.exec_())```
html — смена фона у label при отмечании соответствующего чекбокса
Задать вопрос
Вопрос задан
Изменён 2 года 11 месяцев назад
Просмотрен 73 раза
делаю слайдер (пока картинок нет, они будут справа). пока что временно сделал чекбоксы побольше. мне нужно при нажатии на чекбокс менять цвет, фон и рамку у соответствующего labe
.container{ width:500px; height:500px; margin:0 auto; outline:1px solid #aaa; display:flex; } .label-container{ display:flex; flex-direction:column; width:100px; } .label-container label{ font-size:3em; font-weight:bold; text-align:center; background:black; color:white; line-height:3.47; transition: background-color 0.2s; border-bottom:1px solid red; } /*отмечаю чекбокс и label меняет цвет, фон и рамку снизу */ .img-container #btn-1:checked ~ .label-container label[for="btn-1"], .img-container #btn-2:checked ~ .label-container label[for="btn-2"], .img-container #btn-3:checked ~ .label-container label[for="btn-3"]{ background-color:red; color:black; border-color:black; } .img-container{ } .img-container input{ width:30px; height:30px; display:inline-block; }
<div> <div> <label for="btn-1">1</label> <label for="btn-2">2</label> <label for="btn-3">3</label> </div> <div> <input type="radio" name="toggle" checked> <input type="radio" name="toggle" > <input type="radio" name="toggle" > </div> </div>
- html
- css
- css-selectors
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через Facebook Регистрация через почтуОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
Бесплатные фоны для этикеток векторов скачать бесплатно 148 728 редактируемых файлов .ai .eps .svg .cdr
Сортировать по: По умолчанию В тренде Новейшие Рекомендовать Релевантные Популярные Непопулярные Запросить дизайн
фон фоны абстрактный фон абстрактный текст любовь этикетка орнамент ботаника тег коллекция наклеек рождество флора валентинки романтические элементы сердца слово цветы синий многоцветный
фон фон для фона этикетки бесплатно бесплатный фон бесплатно бесплатно этикетки этикетки бесплатно фирменные бланки вектор бесплатно дамасской вектор Том и Джерри скачать бесплатно футбол рубашка вектор бесплатно мир флаги вектор бесплатно бесплатные изображения люстры вектор скачать бесплатно вектор пакет вертолет бесплатно векторный клипарт бесплатно сафари животных силуэты
[ Векторы ] этикетки иллюстрации качества продукции на полосатом фоне (ai, eps 2. 72MB) Все-бесплатно-download.com [ Векторы ] коллекция любовных этикеток ретро ленты декор симметричные формы ( .ai .eps .svg 4.20MB ) All-free-download.com [ Векторы ] коллекция любовных этикеток элегантная классическая лента с сердечками декор ( .ai .eps .svg 9.52MB ) All-free-download.com [ Векторы ] Любовный фон (ai, eps 16.97 МБ) All-free-download.com [Векторы] Праздничный фон (ai, eps 3.81MB) All-free-download.com [ Векторы ] коллекция абстрактных фоновых шаблонов элегантных плоских геометрических фигур ( .ai .eps .svg 7.51MB ) All-free-download.com [ Векторы ] абстрактный фон шаблона контрастные геометрические фигуры ( .svg .ai .eps 3.61MB ) Все-бесплатно-download.comпраздник абстракция цветок фон красный день святого валентина праздник зима лист природа кривые закрученный рамка узор блестящий черный цветок лента течет водоворот зеленый яркий цвет цветное изображение снежинка снег осенние линии шаблон типография форма компьютерная графика копия пространство размахивая падающая листва оранжевый свиток форма блеск фон расфокусированный цветочная геометрия круглый круг красочное пространство в форме сердца
Загрузка дополнительных элементов, пожалуйста, подождите. ..
Идет загрузка дополнительных элементов, пожалуйста, подождите…
Критерий поиска: Тип поиска:Совпадение с любымСовпадение со всеми
Искать в:ВекторыИконкиФотоШрифтыШаблоны сайтовPSD
Лицензия:Все лицензииРазрешить коммерческое использование
Результат сортировки:Сначала лучшее совпадениеСначала новыеСначала много загрузокСначала меньше загрузок
- Дом
- Лицензии
- Срок
- Конфиденциальность
- О
- Связаться с
Метка Ggplot — расширенный фон — tidyverse
Slavek #1
Привет, я искал решения для простого изменения, которое я хотел бы сделать, но не смог. Может быть, вы можете помочь:
Я хотел бы изменить фон меток в моем geom_line.
Я могу использовать свою переменную в качестве фактора следующим образом:
geom_label(aes(label = scales::number(A2TB_mean, точность = 0,1), fill = factor(A2TB_mean)), цвет = «белый», показать.легенда = ЛОЖЬ) +
, но я не знаю, как изменить цвет в этой функции (например, в красно-янтарно-зеленую шкалу, где красный — самый низкий, а зеленый — самый высокий). В настоящее время цвета случайны.
У меня даже возникают проблемы с выбором собственного цвета, так как, несмотря на выбор собственного цвета, на графике отображается цвет по умолчанию. В этом примере цвет оранжевый, а не синий, который я указал:
geom_label(aes(label = scales::number(A2TB_mean, точность = 0,1), fill="blue"), цвет = «белый», показать.легенда = ЛОЖЬ) +
Это должно быть что-то простое, но все примеры, которые я нашел, действительно базовые и не вдаются в такие детали подфункции geom_label.
Не могли бы вы помочь решить вариант с коэффициентом и вариант с моим цветом?
Заранее спасибо.
технократ # 2
Воспроизводимый пример, называемый репрексом, даст вам более целенаправленный ответ, поэтому я должен предположить, что у вас есть что-то вроде библиотеки
(ggplot2) библиотека (RColorBrewer) данные (мткары) p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) + geom_line() + geom_label(aes(fill = factor(cyl)), color = "white", fontface = "bold", размер = 2) п
Создано 04 февраля 2019 г. пакетом reprex (v0.2.1)
default2099×2099 277 КБ
и вы хотите иметь возможность сделать что-то подобное
библиотека (ggplot2) библиотека (RColorBrewer) данные (мткары) q <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) + geom_line() + geom_label(aes(fill = factor(cyl)), color = "white", fontface = "bold", размер = 2) + scale_fill_brewer (палитра = "Set2") д
Создано 04 февраля 2019 г. пакетом reprex (v0.2.1)
пользовательский 2099×2099 281 КБ
Да, можно, за счет часов эксперементов найти именно нужных цветов. Также посмотрите на http://colorspace.r-forge.r-project.orgБолее подробное объяснение вариантов цвета (для карт, но принципы аналогичны) — мой пост на https://technocrat.rbind.io /2018/12/03/цветной-атлас-карт-для-карт с непрерывным масштабированием/
1 Нравится
#3
Вы также можете использовать непрерывную шкалу
geom_label(aes(label = scales::number(A2TB_mean, точность = 0,1), fill = A2TB_mean), цвет = «белый», показать.легенда = ЛОЖЬ) + scale_fill_gradient (низкий = "красный", высокий = "зеленый") +
Но я должен сказать, что результат мне не очень нравится
Если вам нужен уникальный цвет заливки, уберите аргумент заливки из оператора aes()
geom_label(aes(label = scales::number(A2TB_mean, точность = 0,1)), заполнить = "синий", цвет = «белый», показать. легенда = ЛОЖЬ) +
2 лайков
Славек #4
Ты гений!!!
Спасибо
Славек #5
Я не хочу вас слишком беспокоить, но не могли бы вы дать мне знать, где я могу изменить отдельные цвета для каждой строки и отдельный фон для каждой метки (например, синий для df1 и зеленый для df2)?
andresrcs #6
Вы можете сделать это с помощью
scale_color_manual() scale_fill_manual()
Прочитайте этот раздел R4DS, чтобы узнать, как это работает.
Славек #7
Спасибо, но есть два фрейма данных, поэтому эта проблема более проблематична, если я хочу разные цвета для каждого...
andresrcs #8
Вы пытались понять код, который я вам дал раньше? Мы уже объединили два фрейма данных в один, так что дополнительных сложностей больше нет.
библиотека (dplyr) библиотека (тибблтайм) библиотека (ggplot2) df1_n <- df1 %>% выберите(Дата интервью, A2TB) %>% mutate(InterviewDate = as.POSIXct(InterviewDate, tz = 'UTC'), df = 'df1') df2_n <- df2 %>% выберите(Дата интервью, A2TB) %>% mutate(InterviewDate = as.POSIXct(InterviewDate, tz = 'UTC'), df = 'df2') df1_n %>% rbind(df2_n) %>% договориться (дата интервью) %>% as_tbl_time(index = InterviewDate) %>% коллапс_by("1 месяц", сторона = "начало", очистить = ИСТИНА) %>% group_by(df, Дата интервью) %>% суммировать (A2TB_mean = среднее (A2TB, na.