Dalam beberapa program ubuntu (panel kontrol ubuntu, pengaturan sistem), tetapi tidak misalnya dalam banshee, bagian atas jendela berisi elemen dalam nada gelap (dengan tema Ambience). Tetapi saya tidak dapat menemukan widget standar yang melakukan ini secara otomatis.
Apakah semua warna ini diatur dengan tangan (bukan widget + tema standar)? Dan jika mereka diatur dengan tangan, dari mana mereka berasal dalam tema (apa parameter di gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, & warna))?
EDIT: Tampaknya bukan Gtk.Toolbar sederhana. Jika saya menjalankan kode berikut:
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()
Saya mendapatkan jendela seperti ini: yang tidak memiliki nada gelap untuk bilah alat.
EDIT2: Meskipun jawaban 'bilah alat dengan konteks khusus' oleh j-johan-edwards benar di sebagian besar program, itu tidak terjadi di panel kontrol ubuntuone. Program ini memiliki GtkVBox yang dapat mencakup berbagai widget (tidak seperti toolbar). Saya masih tidak dapat menentukan bagaimana tema gtk tahu cara melukis bagian jendela itu.
Tetapi bagaimanapun juga: untuk saat ini toolbar sudah cukup bagi saya ...
sumber
Gtk.get_major_version()
kata3
, tapi saya masih mendapatkan toolbar lama. Ini setelahfrom gi.repository import Gtk
di kedua python2 dan python3.Berkenaan dengan bagian kedua dari pertanyaan Anda, yaitu "Bagaimana cara menambahkan VBox ke toolbar", yang harus Anda lakukan adalah membungkusnya di dalam Gtk.ToolItem, misalnya :.
Anda dapat membuatnya lebih sederhana dengan membuat fungsi pembantu atau memperluas Gtk.Toolbar, misalnya:
custom_toolbar.py
Ini hanya memeriksa apakah objek yang Anda coba masukkan adalah ToolItem, dan jika tidak, ia membungkusnya di dalam satu. Contoh penggunaan:
main.py
Seharusnya terlihat seperti ini
sumber