Em alguns programas do ubuntu (painel de controle do ubuntu, configurações do sistema), mas não no banshee, a parte superior da janela contém elementos em tom escuro (com o tema Ambiente). Mas não consigo encontrar um widget padrão que faça isso automaticamente.
Essas cores estão todas definidas manualmente (em vez de widget + tema padrão)? E se eles são definidos manualmente, de onde eles vêm no tema (quais são os parâmetros em gtk_widget_modify_bg (widget, GTK_STATE_NORMAL e cor))?
EDIT: Não parece ser um simples Gtk.Toolbar. Se eu executar o seguinte código:
from gi.repository import Gtk
window = Gtk.Window()
window.set_default_size(200, -1)
window.connect("destroy", lambda q: Gtk.main_quit())
toolbar = Gtk.Toolbar()
window.add(toolbar)
toolbutton = Gtk.ToolButton(stock_id=Gtk.STOCK_NEW)
toolbar.add(toolbutton)
window.show_all()
Gtk.main()
Recebo uma janela como esta: que não possui um tom sombrio para a barra de ferramentas.
EDIT2: Embora a resposta 'barra de ferramentas com contexto especial' de j-johan-edwards seja verdadeira na maioria dos programas, não é o caso no painel de controle do ubuntuone. Este programa possui um GtkVBox que pode incluir qualquer gama de widgets (diferente da barra de ferramentas). Ainda não consigo determinar como o tema gtk sabe como pintar essa parte da janela.
Mas enfim: por enquanto uma barra de ferramentas é suficiente para mim ...
fonte
Gtk.get_major_version()
diz3
, mas ainda estou recebendo a barra de ferramentas antiga. Isso ocorre após afrom gi.repository import Gtk
em python2 e python3.Com relação à segunda parte da sua pergunta, que foi "Como adicionar o VBox à barra de ferramentas", tudo o que você precisa fazer é envolvê-lo dentro de um Gtk.ToolItem, por exemplo :.
Você pode simplificá-lo criando uma função auxiliar ou estendendo o Gtk.Toolbar, por exemplo:
custom_toolbar.py
Ele simplesmente verifica se o objeto que você tenta inserir é um ToolItem e, se não, ele o envolve dentro de um. Exemplo de uso:
main.py
Deve olhar como este
fonte