PyGTK - Kelas Toolbar
Kelas bilah alat diwarisi dari kelas gtk.Container. Ini memegang dan mengelola satu set tombol dan widget lainnya. Satu atau lebih garis horizontal tombol biasanya terlihat tepat di bawah bilah menu di jendela tingkat atas. Toolbar juga dapat diletakkan di jendela yang dapat dilepas yang disebut HandleBox. Secara default, tombol di widget gtk.Toolbar diletakkan secara horizontal. Bilah alat vertikal dapat diatur dengan mengatur properti orientasi kegtk.ORIENTATION_VERTICAL.
Toolbar dapat dikonfigurasi untuk menampilkan tombol dengan ikon, teks, atau keduanya. Pencacah gaya adalah -
gtk.TOOLBAR_ICONS | Tombol-tombol ini hanya menampilkan ikon di toolbar. |
gtk.TOOLBAR_TEXT | Tombol-tombol ini hanya menampilkan label teks di bilah alat. |
gtk.TOOLBAR_BOTH | Tombol-tombol ini menampilkan teks dan ikon di toolbar. |
gtk.TOOLBAR_BOTH_HORIZ | Tombol-tombol ini menampilkan ikon dan teks secara berdampingan, bukan bertumpuk secara vertikal. |
Widget Toolbar disiapkan menggunakan konstruktor berikut -
bar = gtk.Toolbar()
Konstituen Toolbar adalah turunan dari gtk.ToolItem. Item tersebut dapat berupa ToolButton, RadioToolButton, ToggleToolButton, atau SeparatorToolItem. Untuk menetapkan ikon ke objek ToolItem, gambar dengan stock_ID yang telah ditentukan dapat digunakan atau gambar kustom dapat ditetapkan dengan metode set_image ().
Contoh berikut menunjukkan cara membuat ToolItems yang berbeda -
ToolButton
newbtn = gtk.ToolButton(gtk.STOCK_NEW)
RadioToolButton
rb1 = gtk.RadioToolButton(None,gtk.STOCK_JUSTIFY_LEFT)
rb2 = gtk.RadioToolButton(rb1,gtk.STOCK_JUSTIFY_RIGHT)
Perhatikan bahwa beberapa tombol radio ditempatkan dalam grup yang sama.
SeparatorToolItem
sep = gtk.SeparatorToolItem()
Item ini diletakkan di toolbar dengan memanggil its insert metode.
gtk.Toolbar.insert(item, index)
Sebagai contoh,
bar.insert(new,0)
Anda juga dapat menetapkan tooltip ke ToolButton menggunakan nethod set_tooltip_text (). Sebagai contoh,New tooltip ditetapkan ke ToolButton baru.
newbtn.set_tooltip_text("New")
Contoh
Kode berikut menunjukkan jendela tingkat atas dengan bilah alat yang diatur untuk memuat item alat normal, item radio dan item pemisah.
import gtk
class PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Toolbar Demo")
self.set_default_size(250, 200)
self.set_position(gtk.WIN_POS_CENTER)
toolbar = gtk.Toolbar()
toolbar.set_style(gtk.TOOLBAR_ICONS)
toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
newbtn = gtk.ToolButton(gtk.STOCK_NEW)
newbtn.set_tooltip_text("New")
openbtn = gtk.ToolButton(gtk.STOCK_OPEN)
savebtn = gtk.ToolButton(gtk.STOCK_SAVE)
sep = gtk.SeparatorToolItem()
rb1 = gtk.RadioToolButton(None,gtk.STOCK_JUSTIFY_LEFT)
53
rb2 = gtk.RadioToolButton(rb1,gtk.STOCK_JUSTIFY_RIGHT)
prv = gtk.ToggleToolButton(gtk.STOCK_PRINT_PREVIEW)
quitbtn = gtk.ToolButton(gtk.STOCK_QUIT)
toolbar.insert(newbtn, 0)
toolbar.insert(openbtn, 1)
toolbar.insert(savebtn, 2)
toolbar.insert(sep, 3)
toolbar.insert(rb1,4)
toolbar.insert(rb2,5)
toolbar.insert(prv,6)
toolbar.insert(quitbtn, 7)
quitbtn.connect("clicked", gtk.main_quit)
vbox = gtk.VBox(False, 2)
vbox.pack_start(toolbar, False, False, 0)
self.add(vbox)
self.connect("destroy", gtk.main_quit)
self.show_all()
def on_checked(self, widget, data = None):
state = "Button1 : "+str(self.btn1.get_active())+"
Button2 : "+str(self.btn2.get_active())
self.lbl.set_text(state)
if __name__ == '__main__':
PyApp()
gtk.main()
Kode di atas akan menghasilkan output berikut -