Intereting Posts
Что означает исполняемый файл LSB при обращении к исполняемым файлам в операционных системах Linux / Unix? количество сеансов HTTP = количество сеансов TCP? Печать в Debian Jessie Without avahi Фильтровать пакеты по MAC-адресу и «EAP» в scapy Отменить переменную окружения http_proxy Почему xxd не показывает знак порядка байтов? Точки в пути Построенное новое ядро, LVM не будет монтироваться из initrd Оболочка оболочки оболочки для предотвращения запуска команды без аргументов? Ошибка при установке инструмента расширения HDF-EOS5: не удается найти -lGtcp Почему «du -apparent-size» иногда отключается более чем на 90%? Безопасная переустановка дистрибутива без потери данных Блокировать доступ к WAN – разрешить доступ к локальной сети – узлы Linux Как сделать резервную копию системных подключений на флэш-накопитель USB / флэш-накопитель? Как удалить файл с именем «–append»?

GTK + 3 изменить цвет текста в метке (Raspberry Pi)

Я пытаюсь изменить цвет текста в метке на лету во время выполнения. Я пытался применить стиль CSS, я пробовал два устаревших метода, и ни один из них не работает. Можно ли это сделать, а если нет, то почему что-то такое простое недоступно?

Применение стиля CSS на лету частично работает: когда я указываю

.pinkStyle { background-color: rgb(241, 135, 135); color: black; } 

во время выполнения я вижу, что фон становится розовым. Но текст остается белым.

О, черт возьми. Я документирую это, чтобы никто не страдал так, как я страдал.

Если вы хотите контролировать свой текст во время выполнения, ни при каких обстоятельствах не используйте Glade, чтобы установить цвет переднего плана с помощью Редактировать атрибуты. Если вы это сделаете, вы ПОСТОЯННО установите цвет текста таким образом, чтобы ни изменения css, ни разметка панго, ни устаревшие функции, такие как gtk_widget_modify_fg, не могли касаться во время выполнения.

Вы все еще можете использовать css для изменения цвета фона метки, но чтобы получить собственный цвет и фон текста, я использую gtk_label_set_markup с

  

с успехом. ПОСЛЕ удаления всех атрибутов со всех моих ярлыков в Glade.

GTK – это кошмар; Я никогда не встречал ничего в Linux до того, что заставило меня долго мечтать о Windows, но это сделало это.

GTK уродлив, отчасти из-за всех устаревших вещей. Они не решали проблемы, они исправлялись вокруг них.

Во всяком случае, это только что началось, это также на форумах raspberrypi.org. err – это int, btcprice и oldprice – это числа с плавающей запятой, разметка и errstr – это gchar.

 if (err == 0) { if (btcprice > oldprice) markup = g_strdup_printf("%.2f",btcprice); else markup = g_strdup_printf("%.2f",btcprice); } else { markup = g_strdup_printf("%s",errstr); } gtk_label_set_markup(GTK_LABEL(pLabel),markup); 

Цвет текста – красный, если цена падает, зеленый, если он растет, оранжевый, если есть ошибка. g_strdup_printf () немного похож на printf или snprintf, но он получает float в строку, цвет которой меняется в зависимости от значения float.