logikapython - Pada kesempatan kali ini, saya akan menjelaskan bagaimana Cara Membuat Layout Aplikasi GUI di Python. Dalam membuat sebuah aplikasi berbasis GUI kita perlu untuk menyusun tiap widget Tkinter yang kita buat agar terlihat lebih rapih.
Tidak seperti pada bahasa pemrograman Delphi ataupun C++ yang hanya tinggal drag & drop komponen untuk mengatur layout, dalam Python berbeda. Dalam bahasa pemrograman python kalian harus menggunakan script / function untuk membuat layout.
Didalam Tkinter Python sendiri terdapat empat cara untuk membuat layout. Yang pertama dengan Pack, kedua dengan Frame, ketiga dengan Grid, dan yang keempat dengan Place. Untuk lebih jelasnya saya akan menjelaskan keempat cara tersebut dibawah ini.
Jenis-jenis Layout pada Python
Pack
Pack merupakan cara yang paling mudah yang kalian bisa gunakan untuk membuat layout aplikasi GUI. Hanya saja setiap widget yang terpasang dengan Pack akan dipasang berurutan kebawah. Contohnya seperti berikut.
# Meng-import module tkinter
from tkinter import *
# Membuat Object Tkinter
TkObject = Tk()
# Membuat widget label
label1 = Label(TkObject, text="Label 1", bg="red")
label2 = Label(TkObject, text="Label 2", bg="white")
label3 = Label(TkObject, text="Label 3", bg="red")
# Memasang widget label
label1.pack()
label2.pack()
label3.pack()
#Menjalankan Program
TkObject.mainloop()
Hasilnya
Frame
Dengan metode Frame kalian bisa menempatkan widget di empat posisi yaitu top, bottom, left dan right. Akan tetapi, jika kalian menggunakan Frame kalian juga harus menggunakan Pack agar Frame yang kalian buat terpasang pada window. Contohnya seperti berikut.
# meng-import Tkinter
from tkinter import *
# Membuat Object Tkinter
TkObject = Tk()
# Membuat Frame Pertama
TopFrame = Frame(TkObject)
TopFrame.pack(side=TOP, fill=X)
# Membuat Frame Pertama
BottomFrame = Frame(TkObject)
BottomFrame.pack(side=BOTTOM, fill=X)
# Membuat Label dan menempatkannya pada Top Frame
label1 = Label(TopFrame, text="Label Widget 1", bg="red")
label2 = Label(TopFrame, text="Label Widget 2", bg="white")
label3 = Label(TopFrame, text="Label Widget 3", bg="red")
label1.pack(side=LEFT)
label2.pack(side=LEFT)
label3.pack(side=LEFT)
# Membuat Label dan menempatkannya pada Bottom Frame
label4 = Label(BottomFrame, text="Label Widget 4", bg="red")
label5 = Label(BottomFrame, text="Label Widget 5", bg="white")
label4.pack()
label5.pack()
# Menampilkan Window
TkObject.mainloop()
Hasilnya
Grid
Grid merupakan cara membuat layout aplikasi GUI dengan metode row dan column. Artinya setiap widget yang dipasang akan diletakan didalam row dan column sebuah table. Contohnya seperti berikut.
# Meng-import module tkinter
from tkinter import *
# Membuat Object Tkinter
TkObject = Tk()
# Membuat widget label header
Header = Label(TkObject, text="Login Here")
# Memasukan label header kedalam Grid
Header.grid(columnspan=2)
# Membuat widget label serta entry untuk username dan password
label1 = Label(TkObject, text="Username")
label2 = Label(TkObject, text="Password")
Entry1 = Entry(TkObject)
Entry2 = Entry(TkObject)
# Memasukan widget label dan entry dari username dan password ke dalam grid
label1.grid(row=2, column=0, sticky=E)
label2.grid(row=3, column=0, sticky=E)
Entry1.grid(row=2, column=1)
Entry2.grid(row=3, column=1)
# Membuat widget check button
check = Checkbutton(TkObject, text="Remember me")
# Memasukan widget check button ke dalam grid
check.grid(row=4, columnspan=2)
# Membuat widget button
button = Button(TkObject, text="Login")
# Memasukan widget button ke dalam grid
button.grid(row=5, columnspan=2)
# Menjalankan program
TkObject.mainloop()
Hasilnya
Place
Sementara itu, Place merupakan cara membuat layout lainya dalam membuat aplikasi GUI Python. Place menggunakan titik koordinat untuk menempatkan widget yang kalian buat. Sehingga, dengan cara ini kalian akan lebih mudah dalam menempatkan widget dimanapun kalian inginkan serta lebih dinamis. Contohnya seperti berikut.
# Meng-import module tkinter
from tkinter import *
# Membuat Object Tkinter
TkObject = Tk()
# Membuat widget label
label1 = Label(TkObject, text="Label 1", bg="red")
label2 = Label(TkObject, text="Label 2", bg="white")
label3 = Label(TkObject, text="Label 3", bg="red")
# Memasang widget label
label1.place(x=10, y=20)
label2.place(x=10, y=70)
label3.place(x=10, y=120)
#Menjalankan Program
TkObject.mainloop()
Hasilnya
Jadi seperti itulah bagaimana Cara Membuat Layout Aplikasi GUI di Python. Terimakasih untuk kalian yang sudah berkunjung ke blog saya.