Membuat Program GUI dengan Python

Untuk membuat program yang dilengkapi dengan GUI (Graphical User Interface), kita perlu menambahkan framework. Terdapat sejumlah framework GUI yang dapat digunakan dengan bahasa pemrograman Python, salah satunya adalah TkInter

Untuk dapat menggunakan TkInter, install dulu frameworknya. Di distro linux berbasin Ubuntu / Debian cara instalasinya adalah melalui perintah

sudo apt install install python3-tk

Membuat Window

Import tkinter dan panggil tk.Tk(). Buka terminal kemudian ketik python3, ketik kode programnya


Atau simpan ke file dengan ekstensi .py. Sebuah window kosong akan muncul setelah kode dieksekusi


Menambahkan Label

Selanjutnya kita bisa menambahkan widget, misalnya sebuah label. Label ini digunakan untuk menampilkan teks di dalam window.

Untuk menambahkan label, fungsi yang dipanggil adalah

tk.Label(text="teks yang akan ditampilkan")

Source code lengkapnya adalah sebagai berikut

# file hello.py
# import framework tkinter
import tkinter as tk
# buat window
window = tk.Tk()
# buat label (menampilkan teks ke window)
greeting = tk.Label(text="Hello, Tkinter")
# memasukkan label ke tampilan UI window
greeting.pack()
# menjalankan event loop, program akan memonitor / listen events
# ini untuk mendeteksi adanya klik pada tombol atau ketikan pada keyboard
# sehingga program bisa mengeksekusi action sesuai event yang terjadi
window.mainloop()
Simpan source code dengan nama hello.py. Jalankan program dengan perintah
python3 hello.py

Hasilnya adalah sebuah window kecil seukuran widget yang dimuat, baru ada satu widget yaitu label yang memuat teks seperti berikut


Membuat Input Sederhana

Selanjutnya akan dicontohkan bagaimana membuat window yang dilengkapi dengan form untuk input. Akan digunakan widget entry untuk menampung teks yang diketik oleh user dan sebuah button yang dapat diklik user untuk mengambil teks yang diketikkan oleh user. Kode lengkapnya adalah sebagai berikut
# filename basic_ui.py
# import framework tkinter
import tkinter as tk
# buat window
window = tk.Tk()
# buat label (menampilkan teks ke window)
label = tk.Label(text="Nama")
# buat widget entry
entry = tk.Entry()
# buat widget button
button = tk.Button(
    text="Submit",
    width=20,
    height=2,
)

# memasukkan label, entry, dan button ke tampilan UI window
label.pack()
entry.pack()
button.pack()

# menjalankan event loop, program akan memonitor / listen events
# ini untuk mendeteksi adanya klik pada tombol atau ketikan pada keyboard
# sehingga program bisa mengeksekusi action sesuai event yang terjadi
window.mainloop()

Simpan source code dengan nama file basic_ui.py, jalankan dengan perintah

python3 basic_ui.py

Hasilnya adalah sebuah window yang memuat dua widget yaitu entry dan button seperti pada gambar berikut


Mengambil dan Menampilkan Teks yang Diinput

Selanjutnya kita akan menambahkan action ke button untuk mengambil teks yang diinputkan ke entry. Teks yang diinputkan user lewat entry akan ditampilkan ke label2.
label2 = tk.Label(text="")
Sedangkan untuk mengambil data yang diinputkan ke entry dapat digunakan method get dari object entry. Kali ini kita buat function get_data untuk mengambil teks yang diinput lewat entry dan menampilkannya ke label2. 
def get_data():
   label2.config(text="hallo "+entry.get())
Code lengkapnya adalah sebagai berikut
# filename basic_ui.py
# import framework tkinter
import tkinter as tk
# buat window
window = tk.Tk()
# buat label (menampilkan teks ke window)
label = tk.Label(text="Nama")
# buat widget entry
entry = tk.Entry()
# buat label2 (untuk menampilkan teks yang diinput ke entry)
label2 = tk.Label(text="")
# fungsi untuk mengambil teks yang diinput ke entry dan menampilkan ke label2
def get_data():
   label2.config(text="hallo "+entry.get())

# buat widget button
button = tk.Button(
    text="Submit",
    width=20,
    height=2,
    command=get_data,
)

# memasukkan label, entry, button, dan label2 ke tampilan UI window
label.pack()
entry.pack()
button.pack()
label2.pack()

# menjalankan event loop, program akan memonitor / listen events
# ini untuk mendeteksi adanya klik pada tombol atau ketikan pada keyboard
# sehingga program bisa mengeksekusi action sesuai event yang terjadi
window.mainloop()
Jalankan program, ketik teks dan klik button. Teks yang diketik akan muncul pada label yang ada di bawah button


Comments

Popular posts from this blog

Contoh Inheritance (Pewarisan) di Java

Review Singkat Pilihan Transportasi Umum Rute Solo - Wonosobo

Physical address dan Logical Address dalam Jaringan Komputer