Intereting Posts
Как монтировать mdf-образ, iso9660 doens't для этого? запрос настройки сети во время установки кикстарта centos7 Существует ли веб-конвертер между rwx и восьмеричной версией? Как заставить resolvconf добавлять серверы имен в список, а не добавлять их? VNC-сервер как виртуальный монитор X11 для расширения проблемы экрана Перемещение пространства + ijkl в клавиши со стрелками / sbin / init не существует. Спасение, вы сами по себе. Удачи Проблемы с make и opencv Заблокировать скрипт, запускающий демоны Проверка IP-адресов (IPv4 и IPv6) Как сделать `head` и` tail` на вход с нулевым ограничением в bash? NGINX: 400 Простой HTTP-запрос был отправлен на порт HTTPS Тихий результат с двумя идентичными файлами в diff: как их показать? Условно разблокировать пароль, в файловой системе только для чтения Как использовать grep для фильтрации строк, начинающихся с любого из нескольких ключевых слов?

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.