Примените фон основной панели инструментов за виджетом GtkEntry с GTK3

В PyGI (GTK3) как сделать так, чтобы виджет GtkEntry отображался на том же фоне, который был применен (в соответствии с темой пользователя) к основной панели инструментов. Я попытался добавить тот же класс стилей, как этот:

entry.get_style_context().add_class(Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)

, но этот класс, похоже, не наблюдается в виджете, который не является GtkToolbar. Итак, как мне настроить тему пользователя для применения тех же стилей к виджету GtkEntry?

(Если это имеет значение, у меня есть GtkEntry в первой ячейке контейнера GtkHBox. Но даже когда я применяю фиксированный градиент к этому HBox вся ячейка, содержащая GtkEntry, кажется, маскирует фон HBox с плоским цветом фона.)

Спасибо.

0
задан 9 August 2012 в 06:34

2 ответа

Вы не сказали, почему вы не можете использовать панель инструментов, поэтому я предлагаю в точности следующее:

замените HBox на панель инструментов, присвойте этой панели инструментов стиль Gtk.STYLE_CLASS_PRIMARY_TOOLBAR, и вы должны сделать это. ...

0
ответ дан 9 August 2012 в 06:34

Он называется стилем основной панели инструментов, поскольку его следует применять только к основной панели инструментов.

В Gtk панели инструментов по умолчанию могут содержать только кнопки инструментов, но есть класс ToolItem, который не имеет визуального представления.

Это создано потому, что оно может встраивать другие виджеты. В ToolItem есть метод add, который вы можете использовать следующим образом:

my_tool_item.add (my_box), где my_box содержит вашу запись

Затем вы можете добавить свой инструмент на панель инструментов my_toolbar.insert (my_tool_item, index)

Ваша панель инструментов, конечно, вызвала: get_style_context (). Add_class (Gtk.STYLE_CLASS_PRIMARY_TOOLBAR)

Причина, по которой вы не можете использовать «primary-toolbar» с виджетами панели инструментов, скорее всего, не в. CSS-файлы определены следующим образом:

GtkToolbar.primary-toolbar 

{

    /* style info*/

}
0
ответ дан 9 August 2012 в 06:34

Другие вопросы по тегам:

Похожие вопросы: