26/06/16

Membuat Programan GUI Sederhana Dengan Python Tkinter

Exhacking.net - Pada bagian ini, kita akan belajar tentang Tkinter untuk membuat sebuah aplikasi berbasis GUI (Graphical User Interface) di 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.

Sebelum lanjut ke Tutor ada baiknya kalian install dulu Python Tkinter ini di system kalian jika sudah terinstall silahkan di lewati, buka terminal dan ketikan perintah
apt-get install python-tk
Berikut langkah-langkah sederhana untuk membuat aplikasi GUI berbasis Tkinter di Python :
  1. 1. Memanggil modul Tkinter.
  2. 2. Membuat jendela aplikasi GUI.
  3. 3. Menambahkan komponen pada aplikasi.
  4. 4. Menuliskan kode mainloop.
Memanggil Modul Tkinter
Modul Tkinter berisi berbagai kelas dan komponen yang diperlukan untuk membangun sebuah aplikasi GUI. Untuk menggunakan komponen Tkinter, kita harus memanggilnya terlebih dahulu..
Contoh di bawah ini akan menunjukkan bagaimana kita memanggil modul Tkinter.
import Tkinter
Kita juga bisa memanggil semua metode, kelas, dan atribut dari modul Tkinter dengan menggunakan 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, kita menggunakan pernyataan seperti berikut:
top = Tkinter.Tk()
Jika kita menggunakan pernyataan from-import untuk memanggil modul Tkinter, maka kita cukup menuliskan:
top = Tk()
Menambahkan Komponen Pada Aplikasi
Dengan menggunakan Tkinter, kita dapat menambahkan beberapa komponen pada aplikasi yang kita buat. 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, cekbox, dan label.
Komponen container merupakan komponen yang bisa berisi/ditempeli oleh komponen lain seperti frame dan window.

# 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 kita mendesain sebuah aplikasi, tentu saja dengan menambahkan beberapa komponen di dalamnya, kita perlu mengeksekusi program tersebut. Ketika sebuah program kita eksekusi, 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, kita cukup menuliskan
root.mainloop()

dengan root pada kode di atas mengacu pada window utama (toplevel). Berikut ini merupakan sebuah listing program untuk menampilkan sebuah window.
# file: winTk.py
import Tkinter
root = Tkinter.Tk()
# Kode untuk menambahkan komponen
root.mainloop()
Kita juga bisa menuliskan kode di atas seperti ini
# file: winTk1.py
from Tkinter import *
root = Tk()
# Kode untuk menambahkan komponen
root.mainloop()
Tampilan yang dihasilkan dari program di atas seperti berikut ini,

Dan di bawah ini adalah contoh Source code Tkinter untuk menampilkan
tulisan SELAMAT DATANG
# file: selamat_datang.py

from Tkinter import *

class DemoSelamatDatang:
    def __init__(self, parent, title):
        self.parent = parent

        self.parent.title(title)
        self.parent.protocol("WM_DELETE_WINDOW", self.onKeluar)

        self.aturKomponen()

    def aturKomponen(self):
        mainFrame = Frame(self.parent, bd=10)
        mainFrame.pack(fill=BOTH, expand=YES)

        # pasang kotak edit
        self.entPesan = Entry(mainFrame, width=25)
        self.entPesan.insert(0, "Selamat Datang di Exhacking.Net")
        self.entPesan.pack(side=TOP, pady=5)

        # pasang tombol keluar
        self.btnKeluar = Button(mainFrame, text="Keluar",
            command=self.onKeluar)
        self.btnKeluar.pack(side=TOP, pady=5)

    def onKeluar(self, event=None):
        self.parent.destroy()

if __name__ == '__main__':
    root = Tk()

    aplikasi = DemoSelamatDatang(root, "Exhacking.net Demo Tkinter")

    root.mainloop()
Kalian juga dapat menemukan Source Code lainnya di sini https://github.com/exhacking/TKinter
Sekian post kali ini, Terimakasih :)
Unknown
Unknown

I'm Just A Writer blogger usual And Happy to do some experiments And my dreams Want To Become A programmer and i love Linux.

Tidak ada komentar:

Posting Komentar

Silahkan berkomentar jika ada yang ingin di tanyakan 😊