[Tutorial Tkinter]: Membuat GroupBox dengan Komponen LabelFrame

Halo PythonMania, apa kabar hari ini?

Diiringi hujan deras di sore hari ini, kami akan berbagi kepada Anda, PythonMania sejati, tentang “Bagaimana membuat GroupBox dengan Komponen LabelFrame di Python?”. Dan tentu saja…masih dengan Tkinter..YES!. So…Langsung aja ke TeKaPe!

Sample GroupBox

Sample GroupBox

Untuk membuat groupbox di Python-Tkinter, kita bisa menggunakan komponen LabelFrame. LabelFrame merupakan pengembangan dari komponen Frame yang ditambahkan teks/judul frame. LabelFrame juga dapat berisi beberapa komponen lain dari Tkinter. Untuk lebih jelasnya, silahkan dipelajari disini.

Berikut kami tampilkan sebuah aplikasi mengubah warna teks, dengan menggunakan LabelFrame.

Komponen Tkinter: Frame, LabelFrame, Label, Button, Radiobutton
Kode Program:

# file: label-frame.py
# Deskripsi: Menggunakan komponen LabelFrame
# 		pada pemrograman visual sering disebut GroupBox
#		
# Python ver. 2.6
# Sistem Operasi: Debian 6 (squeeze)
# Tgl pembuatan: Rabu, 30 Januari 2013 - 15.00 WIB
# Penulis: KlinikPython.wordpress.com
#

from Tkinter import *

WARNA = [
	('Hitam', 'black'),
	('Merah', 'red'),
	('Biru', 'blue'),
	]	

class DemoLabelFrame:
	def __init__(self, induk, judul):
		self.induk = induk
		
		self.induk.title(judul)
		self.induk.protocol("WM_DELETE_WINDOW", self.tutup)
		self.induk.resizable(False, False)
		
		self.aturKomponen()
		
		self.ubahTeks()
		
	def aturKomponen(self):
		# atur frame utama
		mainFrame = Frame(self.induk)
		mainFrame.pack(fill=BOTH, expand=YES)
		
		## frame data
		fr_data = Frame(mainFrame, bd=10)
		fr_data.pack(fill=BOTH, expand=YES)
		
		#$$$ pasang teks 'Python'
		self.lblTeks = Label(fr_data, text='Python', 
			font=('Arial', '30', 'bold'), bg='white')
		self.lblTeks.pack(fill=BOTH, expand=YES)
		
		#$$$ pasang groupBox Warna Teks
		fr_warna = LabelFrame(fr_data, text='Warna Teks')
		fr_warna.pack(fill=BOTH, expand=YES, pady=10)
		
		self.strWarna = StringVar()
		self.strWarna.set('black')
		
		for teks, wrn in WARNA:
			rbWarna = Radiobutton(fr_warna, text=teks, 
				variable=self.strWarna, value=wrn, command=self.ubahWarna)
			rbWarna.pack(side=LEFT)
			
		#$$$ pasang tombol keluar
		btnKeluar = Button(fr_data, text='Keluar', command=self.tutup)
		btnKeluar.pack(fill=BOTH, expand=YES)
		
		# atur statusbar
		Label(mainFrame, text='www.KlinikPython.wordpress.com',
				bd=1, relief=RIDGE, foreground='blue').pack(
				side=BOTTOM, fill=X)
				
	def ubahTeks(self):
		warna = self.strWarna.get()
		
		self.lblTeks.config(foreground=warna)
				
	def ubahWarna(self, event=None):
		self.ubahTeks()
		
	def tutup(self, event=None):
		self.induk.destroy()
		
if __name__ == '__main__':
	root = Tk()
	
	app = DemoLabelFrame(root, ":: Demo Label-Frame ::")
	
	root.mainloop()

Tampilan Program:

Tampilan pertama program dijalankan.

Tampilan pertama program dijalankan.

Tampilan saat warna Merah dipilih.

Tampilan saat warna Merah dipilih.

Tampilan saat warna Biru dipilih.

Tampilan saat warna Biru dipilih.

Woke…Semoga Bermanfaat dan Salam PythonMania!

3 comments

  1. mas kode diatas saya copy ke Mode Interaktif Python, tapi kok gak jalan seperti program yang mas tampilkan di atas

Leave a reply to bangai Cancel reply