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 -