Tkinter

Saat ini, hampir semua bahasa pemrograman memiliki antarmuka grafis (Graphics User Interface – GUI) tak terkecuali Python. Mulai yang paling sederhana, Tkinter, sampai GUI yang kompleks , PyGTK – wxPython – pyQT, kita bisa memilih sesuai selera.

[Tutorial Tkinter]:

  1. 3 Komponen Dasar Tkinter
  2. Inilah Langkah Pertama Belajar Tkinter
  3. Menggambar Kurva Sinus di Python
  4. Aplikasi Data Sederhana di Python
  5. Tampilkan Teks Dengan LABEL Python
  6. Input Data Anda Dengan Entry
  7. Bermain Dengan Komponen Toplevel
  8. Image Preview – Program Penampil Gambar
  9. Tentukan Pilihanmu dengan RadioButton
  10. Membuat Jam Digital bersama Tkinter

11 comments

  1. bang, saya mau buat beberapa listbox dengan menggunakan looping dan membuat variable-variable listbox tersebut dengan menggunakan fungsi vars(),

    i = 0
    while i <= 3:
    indeks = "lb" + str(i)

    vars()[indeks] = Listbox(self.parent).grid(column = i,
    row = 1,
    sticky = W).insert(END, 'test'+str(i))

    i += 1

    tapi kok, muncul error :
    AttributeError: 'NoneType' object has no attribute 'insert'

    1. Salam kenal mas @Andi…
      setelah kami cek (dari list program Anda) menggunakan print(vars()), ternyata obyek lb1=lb2=lb3 bertipe NoneType. inilah permasalahannya…hehehe. pantas saja saat kita gunakan fungsi insert(), menghasilkan error NoneType.

      SOLUSI:
      kita pisah saja layout managernya dan fungsi insert-nya…sederhana kan?…hehehe (padahal seminggu baru ketemu nih solusi..:D)

      LISTING PROGRAM:

      # file: listbox_vars.py
      # python versi 3.2
      
      from tkinter import *
      
      class DemoMultiListbox:
        def __init__(self, parent, title):
          self.parent = parent
      
          self.parent.title(title)
          self.parent.protocol("WM_DELETE_WINDOW", self.onClose)
      
          self.aturKomponen()
      
        def aturKomponen(self):
          # pasang frame utama
          mainFrame = Frame(self.parent, bd=10)
          mainFrame.pack(fill=BOTH, expand=YES)
          #print(type(mainFrame))
      
          # pasang listbox
          i = 0
          while i<3:
            indeks = 'lb'+str(i)
      
            # memasukkan data listbox ke dalam DICTIONARY
            # melalui fungsi vars().
            vars()[indeks]=Listbox(mainFrame)
      
            # pasang listbox pada mainFrame
            # menggunakan pack() manager.
            vars()[indeks].pack(side=LEFT)
      
            # isi tiap2 listbox.
            vars()[indeks].insert(END, 'test'+str(i))
      
            i += 1
      
          # cek type dari item
          print (vars())
      
        def onClose(self, event=None):
          self.parent.destroy()
      
      if __name__ == '__main__':
        root = Tk()
      
        aplikasi = DemoMultiListbox(root, "Demo Multi Listbox")
      
        root.mainloop()
      

      # untuk pembahasan fungsi vars(), tunggu tanggal mainnya…hehehe

      Woke…Salam PythonMania!

  2. hehe, iya bang…, saya juga pisah layout managernya…, lupa komen lagi kalo dah ketemu soulisnya…, dan untuk menjadikannya variabel self, di fungsi varsnya kita buat
    vars(self)[indeks] = Listbox()

    btw, bang kasih tutorial tabel sederhana donk, dengan wxpython dan kalo bisa dengan Tkinter aja, soalnya saya belum pernah belajar wxpython tapi kebanyakan tabel pake wxpython

  3. mas gimana caranya bikin program login dengan entry username dan password, dan outputnya berupa password benar dan salah sy masih belajar dasarnya tapi setelah melihat klinik python saya jd sangat tertarik

  4. mas mau nanya, caranya ngehubungin database yg kita buat di MySQL ke python itu gimana ya?

  5. mz gmna caranya menampilkan datang yang dipilih pada ceklistbox agar bisa tampil pada listctrl?? tolong jawabanya..

  6. bang, saya boleh nanya,,, saya masih belajar dasar.. kemaren saya ada tugas. untuk mencari nilai terbesar dari data pada kolom listcntrl bagaimana ya bang? mohon bantuannya.. kalau bisa secepatnya ya..

  7. mas saya mau bikin aplikasi kasir bioskop menggunakan tkinterpython 2.7.5 …
    itu gmn caranya mas .. mhon pencerahan nya.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s