Изменение css виджета C ++ GTK - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь отредактировать css модели в виде дерева (хранилище списков), я настроил все, используя этот код, и он отлично работает:

auto css_provider = Gtk::CssProvider::create();
css_provider->load_from_path("style.css");

Gtk::StyleContext::add_provider_for_screen
                    (Gdk::Screen::get_default(), css_provider, 
                    GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

Этот код успешно загружается в css файл, и я могу изменить некоторые свойства древовидной структуры, ive протестировал заполнение, и это прекрасно работает, он применяет заполнение к каждой строке в списке списков:

treeview.view {
    padding: 20px;
}

или

treeview * {
    margin: 10px;
}

Но если я попытаюсь сослаться на название дерева, оно не будет работать (без ошибок или предупреждений):

#m_TreeView {           /* or m_TreeView.view */
    padding: 20px;
}

Моя главная цель - применить поле между каждой строкой, но это также не Кажется, не работает (без ошибок или предупреждений), я хочу применить поле для каждой строки, но ссылаюсь на указанное c имя древовидного представления, так как в моем приложении было бы несколько древовидных представлений:

treeview.view {
    margin: 20px;
}

Попытался получить доступ к строкам и попытался получить доступ к списку хранилищ дочерних элементов (*):

treeview row {
    margin: 10px;
}

+

liststore * {
    margin: 10px;
}

1 Ответ

0 голосов
/ 16 апреля 2020

Но если я попытаюсь сослаться на имя дерева, оно не будет работать (без ошибок или предупреждений):

Нужное имя не является именем переменной. Чтобы дать имя для стиля CSS, вы можете установить его, вызвав

void Gtk::Widget::set_name  (   const Glib::ustring &   name    )   
...