Minggu, 01 Agustus 2010

[DAHSYATNYA TKINTER] Kemerdekaan RI ke-65

Bulan ini mempunyai banyak hari yang bermakna. Sekilas kita ingat, kalo di bulan ini kita pasti memperingati hari Kemerdekaan RI yang ke-65. Disetiap sudut kampung, banyak sekali yang mengadakan lomba-lomba menyambut 17-an. Tak heran jika semua warga negara Indonesia selalu menyambut bulan Agustus dengan suka cita yang tinggi.

Pada catatan yang pertama ini, saya ingin menyampaikan atau, kalo lebih pas-nya mengingatkan sedikit tentang nilai-nilai kemerdekaan RI. Dulu, saya yakin setiap orang pasti pernah membaca teks Pancasila dan Pembukaan UUD 1945. Nah alangkah baiknya jika saat ini, sambil mengingat bacaan Pancasila dan Pembukaan UUD 1945, saya akan membuat sebuah program yang berhubungan dengan 17-an.

Desain Program ::
1. Program ini menggunakan 4 widget dasar dari Tkinter, yaitu: Frame, Button, Text, Scrolbar.
2. Program ini menggunakan file luar yaitu pancasila.txt dan pembukaanUUD.txt sebagai input pada Text.
3. Sebagai tambahan, kita juga menggunakan tkMessageBox sebagai dialog. Untuk digunakan setelah tombol Help di klik.

Dan saatnya kita coba.....SALAM PYTHON DAHSYAT!!!


# menampilkan teks Pancasila

from Tkinter import *
import sys
import tkMessageBox

class Aplikasi(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack(fill=BOTH, expand=YES)
self.config(padx=10, pady=10)

self.master.geometry("400x300")
self.master.title("Pancasila dan Pembukaan UUD 1945")
self.aturKomponen()
self.aturKejadian()

def aturKomponen(self):
# program menggunakan 3 frame:
# 1. frame induk
# 2. frame atas (berisi beberapa Button)
# 3. frame bawah (berisi Text dan Scrollbar)

frameAtas = Frame(self)
frameAtas.pack(expand=YES, fill=BOTH)
frameAtas.config(pady=5)

self.buttonPanca = Button(frameAtas, text='Pancasila')
self.buttonPanca.pack(side=LEFT)
self.buttonUUD = Button(frameAtas, text='Pembukan UUD 45')
self.buttonUUD.pack(side=LEFT)
self.buttonKeluar = Button(frameAtas, text='Keluar')
self.buttonKeluar.pack(side=LEFT)

self.buttonHelp = Button(frameAtas, text='Help')
self.buttonHelp.pack(side=RIGHT)

frameBawah = Frame(self)
frameBawah.pack(expand=YES, fill=BOTH)
frameBawah.config(pady=5)

self.scrollPanca = Scrollbar(frameBawah)
self.textPanca = Text(frameBawah, relief=SUNKEN)

self.scrollPanca.config(command=self.textPanca.yview)
self.textPanca.config(yscrollcommand=self.scrollPanca.set)

self.scrollPanca.pack(side=RIGHT, fill=Y)
self.textPanca.pack(side=LEFT, expand=YES, fill=BOTH)

def aturKejadian(self):
self.buttonPanca.bind('', self.showPanca)
self.buttonUUD.bind('', self.showUUD)
self.buttonKeluar.bind('', self.keluar)
self.buttonHelp.bind('', self.bantuan)

def tampilTeks(self, teks=''):
self.textPanca.config(foreground='red')
self.textPanca.delete('1.0', END)
self.textPanca.insert('1.0', teks)
#self.textPanca.mark_set(INSERT, '1.0')

def showPanca(self, event):
teks = open('pancasila.txt', 'r').read()
self.tampilTeks(teks)

def showUUD(self, event):
teks = open('pembukaanUUD.txt', 'r').read()
self.tampilTeks(teks)

def keluar(self, event):
sys.exit()

def bantuan(self, event):
tkMessageBox.showinfo("Informasi",
'Created By masbiggie\n@malang, 02 agustus 2010')

def run(self):
self.mainloop()

if __name__ == '__main__':
app = Aplikasi()
app.run()

3 komentar:

  1. mau buat komponen tabel di python gimana caranya yah ??

    BalasHapus
  2. komponen Table di Tkinter memang tidak disediakan, maka saya biasanya gunakan Listbox (dipaksakan sih)..tapi lumayan membantu ketika kemarin buat program Point Of Sale. atau Anda bisa pake komponen table disini.. http://tkinter.unpythonic.net/wiki/TkTable

    SALAM PYTHON DAHSYAT!!!

    BalasHapus
  3. min mau tanya,
    apa kgunaan dari fungsi
    bind()?
    pada saat delete dan insert menggunakan agka '1.0'?
    apa beda sys.exit() denga self.destroy()

    BalasHapus