Apa itu Tkinter pada python ?
Tkinter
adalah pustaka standart yang dimiliki oleh Python. Kombinasi Python dan Tkinter
ini menghasilkan sebuah tampilan grafik yang menarik sekaligus mudah untuk membuatnya.Tkinter
menyediakan berbagai komponen grafis diantaranya tombol, label, kotak teks, yang mana komponen-komponen ini sangatlah sering digunakan dalam aplikasi GUI. Komponen Tkinter
ini sering kita sebut widget.Membuat Window GUI python dengan Tkinter
Memanggil Modul Tkinter
Modul
Tkinter
berisi berbagai kelas dan komponen yang diperlukan untuk membangun sebuah aplikasi GUI. Untuk menggunakan komponen Tkinter
, perlu diimport dulu. dengan sintax :
import Tkinter
untuk memnagggil semua metode, kelas, dan atribut dari modul
Tkinter
gunakan cara seperti di bawah ini.from Tkinter import *
Membuat Jendela Aplikasi GUI
Setiap aplikasi GUI seharusnya memiliki sebuah jendela utama (root window), yang dapat berisi berbagai komponen yang diperlukan dalam aplikasi yang akan dibuat. Untuk membuat jendela utama dari suatu aplikasi, gunakan pernyataan seperti berikut:
top = Tkinter.Tk()
Jika menggunakan pernyataan
from-import
untuk memanggil modul Tkinter
, maka cukup menuliskan:top = Tk()
Menambahkan Komponen Pada Aplikasi
Dengan menggunakan
Tkinter
, maka dapat menambahkan beberapa komponen pada aplikasi yang dibuat. Komponen ini bisa berdiri sendiri atau dapat diisi komponen lain (disebut Container). Komponen yang berdiri sendiri merupakan komponen yang tidak dapat diisi oleh komponen lain, misalkan tombol, checkbox, dan label. Komponen container merupakan komponen yang bisa berisi/ditempeli oleh komponen lain seperti frame dan window. KOMPONEN | DESKRIPSI |
---|---|
Button | Komponen Button berfungsi untuk menampilkan sebuah tombol. |
Canvas | Komponen Canvas digunakan untuk menggambar bentuk seperti garis, lingkaran, poligon, dan kotak. |
Checkbutton | Komponen Checkbutton berfungsi menampilkan sejumlah pilihan yang ditandai dengan tanda ‘centang’. Pengguna aplikasi dapat memilih lebih dari satu pilihan. |
Entry | Komponen Entry berfungsi menampilkan kotak teks satu-baris untuk menerima masukan dari pengguna. |
Frame | Komponen Frame berfungsi sebagai kontainer bagi komponen lain. |
Label | Komponen Label berfungsi memberikan keterangan untuk komponen lain. Komponen ini juga dapat diisi gambar. |
Listbox | Komponen Listbox berfungsi menyediakan daftar pilihan untuk pengguna. |
Menubutton | Komponen Menubutton berfungsi menampilkan menu. |
Menu | Komponen Menu berfungsi memberikan berbagai perintah kepada pengguna. Perintah-perintah ini juga tercantum dalam Menubutton. |
Message | Komponen Message berfungsi menampilkan teks yang terdiri dari sejumlah baris untuk menerima beberapa nilai dari pengguna. |
Radiobutton | Komponen Radiobutton berfungsi menampilkan sejumlah pilihan dalam bentuk tombol radio. |
Scale | Komponen Scale berfungsi menampilkan skala geser. |
Scrollbar | Komponen Scrollbar berguna untuk menambahkan fungsi geser (scroll) pada beberapa komponen, seperti komponen Listbox. |
Text | Komponen Text berfungsi menampilkan teks dalam multi baris. |
Toplevel | Komponen Toplevel digunakan untuk membuat sebuah kontainer window yang terpisah. |
Menambahkan Kode mainLoop
Setelah mendesain sebuah aplikasi, tentu saja dengan menambahkan beberapa komponen di dalamnya, maka perlu mengeksekusi program tersebut. Ketika sebuah program dieksekusi, maka program tersebut akan mengalami perputaran tak berhingga (infinite loop). Kode untuk memasukkan program kita dalam kondisi perputaran ini yaitu
Tkinter.mainloop()
Jika kita menggunakan
from-import
untuk mengambil semua fungsi pada Tkinter, cukup menuliskanroot.mainloop()
dengan root pada kode di atas mengacu pada window utama (toplevel). Berikut ini merupakan sebuah listing program untuk menampilkan sebuah window.
1
2
3
4
5
6
7
8
9
| # file: winTk.py import Tkinter root = Tkinter.Tk() # Kode untuk menambahkan komponen root.mainloop() |
bisa juga menuliskan kode di atas seperti ini,
1
2
3
4
5
6
7
8
9
| # file: winTk1.py from Tkinter import * root = Tk() # Kode untuk menambahkan komponen root.mainloop() |
Tampilan yang dihasilkan dari program di atas seperti berikut ini,
Contoh membuat window seperti terowongan di window tkinter
from tkinter import * class Terowongan(): def __init__(self): self.buatKanvas() self.buatTerowongan() def buatKanvas(self): self.kanvas = Canvas(width=200, height=100) self.kanvas.pack() def buatTerowongan(self): self.kanvas.create_rectangle(50, 20, 150, 80, fill="green") self.kanvas.create_rectangle(65, 35, 135, 65, fill="yellow") self.kanvas.create_line(0, 0, 50, 20, fill="green", width=3) self.kanvas.create_line(0, 100, 50, 80, fill="green", width=3) self.kanvas.create_line(150, 20, 200, 0, fill="green", width=3) self.kanvas.create_line(150, 80, 200, 100, fill="green", width=3) Tk() Terowongan() mainloop()
hasil tampilannya :