[Tips Tkinter] : Tentukan Pilihanmu dengan RadioButton

Ketika kita berpuasa di bulan Ramadhan seperti ini, alangkah indahnya sambil menunggu buka puasa kita belajar Python…hehehe. Dan materi Tips Tkinter yang akan kita pelajari kali ini adalah “Bagaimana Menentukan Pilihan dengan RadioButton?” …Rileks saja plus berikan senyuman terindah Anda hari ini…Yes!

Komponen Tkinter: RADIOBUTTON

Radiobutton adalah komponen standar dari Tkinter yang berfungsi untuk memilih 1 (satu) dari banyak pilihan. Radiobutton dapat berisi teks ataupun gambar. Kita juga bisa menghubungkan tiap-tiap tombol pilihan dengan suatu fungsi. Ketika kita meng-klik tombol pilihan, Tkinter akan secara otomatis memanggil fungsi tersebut.

Berikut kode program sederhana, bagaimana menggunakan komponen Radiobutton.

# file: demo_radioButton.py
# versi: Python 2.7.1 (bawaan Ubuntu 11.04)
# Menggunakan Radio Button (Tkinter)
# created: klinikython 
# revisi: Minggu, 29 Juli 2012 12.28 PM


import Tkinter as tk

BAHASA = [
	("Ya", 1),
	("Tidak", 2),
	]


class DemoRButton:
	def __init__(self, parent, title):
		# menambahkan 'self' pada variable parent, agar dapat diakses
		# pada metode yang ada di dalam kelas ini.
		self.parent = parent
		
		# menampilkan judul
		self.parent.title(title)
		# memberikan aksi jika tombol 'X' pada window diKlik)
		self.parent.protocol("WM_DELETE_WINDOW", self.onTutup)
		# ukuran window tidak bisa diubah atau besar-kecilkan
		self.parent.resizable(False, False)
		
		# memanggil metode aturKomponen
		self.aturKomponen()
		
	def aturKomponen(self):
		# pasang frame utama, dengan ketebalan 10
		mainFrame = tk.Frame(self.parent, bd=10)
		mainFrame.pack(fill=tk.BOTH, expand=1)
		
		# pasang label tanya
		lblSoal = tk.Label(mainFrame, text="Apakah Anda Berpuasa Hari ini?",
			anchor=tk.W)
		lblSoal.pack(fill=tk.X)
		
		# pasang radioButton pilihan
		self.nilai = tk.IntVar()
		
		#jika ingin meng-aktifkan pilihan, gunakan metode set()
		#self.nilai.set(1) -->> arti: mengaktifkan pilihan 1.
		
		for teks, dat in BAHASA:
			pilihan = tk.Radiobutton(mainFrame, text=teks, variable=self.nilai,
				value=dat, command=self.onKlik)
			pilihan.pack(anchor=tk.W)
			
		# pasang tombol Keluar
		tk.Button(mainFrame, text="Keluar", command=self.onTutup).pack()
		
	def onTutup(self, event=None):
		self.parent.destroy()
		
	def onKlik(self, event=None):
		jwbn = self.nilai.get()
		
		if jwbn == 1:
			print "Awas! Jangan makan di siang hari!"
		else:
			print "Anda boleh makan saat ini!"
	
		
if __name__ == '__main__':
	root = tk.Tk()
	
	aplikasi = DemoRButton(root, "Demo RadioButton")
	
	root.mainloop()

Pada saat kita memilih ‘Ya’, maka pada terminal akan muncul tampilan "Awas! Jangan makan di siang hari!". Jika memilih ‘Tidak’, maka akan muncul tampilan "Anda boleh makan saat ini!". Untuk menampilkan teks tersebut, kita harus menghubungkan dahulu tombol pilihan dengan suatu fungsi. Fungsi yang kita gunakan di atas adalah fungsi onKlik(). Satu lagi yang sangat penting, yaitu penggunakan variabel self.nilai. Jika kita meng-klik pilihan, maka variabel self.nilai juga akan berubah.

Woke! Tak terasa waktu menjelang Maghrib…untuk yang berpuasa..Selamat Menunggu Maghrib!

Salam PythonMania!

3 comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s