Ответы пользователя по тегу GTK+
  • Почему в приложении gtk работает только одно свойство стилей css?

    TonyHunt
    @TonyHunt
    Part-time developer – full-time geek.
    1. Глобальная тема Вашего окружения Десктопа может иметь приоритет и отображать только то, чтобы не испортить "внешний вид приложения". То есть банально отключать Х свойства. Проверяется сменой темы.
    2. Применяетеся последнее свойство, как и в мире веба, перезатирая предыдущее (аналогичное).
    3. CSS под Gtk отличается от CSS Web, нужно изучать API глубже.
    4. Возможно стоило использовать точку перед названием, а не решётку.
    5. Посмотрите примеры на гитхабе или https://gitlab.com/gavr123456789/vala-css-examples...
    Ответ написан
    Комментировать
  • Получить GtkLabel по его ID?

    TonyHunt
    @TonyHunt
    Part-time developer – full-time geek.
    Используйте переменные для работы с данными. Переменную можно использовать почти в любом месте программы, подпрограмы.

    Пример на 4х языках.
    6053a84e9a5cc869182286.png

    Пример с Gtk.Builder.
    using Gtk;
    
    public void on_button1_clicked (Button source) {
        source.label = "Thank you!";
    }
    
    public void on_button2_clicked (Button source) {
        source.label = "Thanks!";
    }
    
    int main (string[] args) {
        Gtk.init (ref args);
    
        try {
            // Если UI содержит кастомные виджеты,они должны хотя бы один раз проинициализированы
            // Type type = typeof(Foo.BarEntry);
            // assert(type != 0);
            var builder = new Builder ();
            builder.add_from_file ("sample.ui");
            builder.connect_signals (null);
            var window = builder.get_object ("window") as Window;
            window.show_all ();
            Gtk.main ();
        } catch (Error e) {
            stderr.printf ("Не получилось загрузить UI: %s\n", e.message);
            return 1;
        }
    
        return 0;
    }
    Ответ написан
    Комментировать