Sabtu, 19 Desember 2009

[DAHSYATNYA PyGTK] :: Berpikir Enteng Cara PyGTK...


Gambar matematika.py

Sesuai dengan judul di atas, saya coba membuat program yang enteng-enteng aja. Yang jelas, saya menggunakan GUI pyGTK. OK!..gak usah lama-lama..ayo tancap gas!

Pada latihan ini, kita cukup menggunakan 4 widget(tool): Label, Button, Entry, dan HSeparator. Untuk pengaturan tata letak, kita gunakan VBox dan HBox. Untuk menjalankan program ini, kita harus memasukkan bilangan1 dan bilangan2 dulu, setelah itu kita bisa mengklik tombol '+', '-', 'x', '/'. Dan hasil operasi matematika akan dapat dilihat di kotak hasil. Jika ingin keluar, kita tinggal klik tombol keluar.

Saran: Menurut saya belajar program, lebih baik kita mulai dari mengetik listing kemudian kita pelajari apa yang dimaksud di listing tersebut..SALAM PYTHON DAHSYAT!


# latihan: matematika.py
# Program matematika untuk penjumlahan, pengurangan, perkalian, dan pembagian
# masbiggie@07/12/09

import pygtk
pygtk.require('2.0')
import gtk

class Matematika(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
self.set_title("Matematika Sederhana")
self.set_size_request(250, -1)
self.set_border_width(10)

self.aturKomponen()
self.aturKejadian()

self.hasil = 0.0

self.show_all()

def aturKomponen(self):
vbox = gtk.VBox(False, 5)
self.add(vbox)

self.bil1 = gtk.Label("Bilangan 1:")
self.bil1.set_alignment(0.0, 0.5)
vbox.pack_start(self.bil1)
self.edit1 = gtk.Entry()
vbox.pack_start(self.edit1)
self.bil2 = gtk.Label("Bilangan 2:")
self.bil2.set_alignment(0.0, 0.5)
vbox.pack_start(self.bil2)
self.edit2 = gtk.Entry()
vbox.pack_start(self.edit2)

hbox = gtk.HBox()
vbox.pack_start(hbox)

self.tam = gtk.Button("+")
hbox.pack_start(self.tam)
self.kur = gtk.Button("-")
hbox.pack_start(self.kur)
self.kal = gtk.Button("x")
hbox.pack_start(self.kal)
self.bag = gtk.Button("/")
hbox.pack_start(self.bag)

self.hasil = gtk.Label("Hasil Operasi Matematika:")
vbox.pack_start(self.hasil)
self.edithasil = gtk.Entry()
vbox.pack_start(self.edithasil)

# tombol Keluar
self.sep = gtk.HSeparator()
vbox.pack_start(self.sep)

hbox2 = gtk.HBox()
vbox.pack_start(hbox2, False, False)

self.keluar = gtk.Button("Keluar")
self.keluar.set_size_request(75, -1)
hbox2.pack_end(self.keluar, False, False)

def aturKejadian(self):
self.connect("destroy", self.OnKeluar)

self.keluar.connect("clicked", self.OnKeluar)

self.tam.connect("clicked", self.OnTambah)
self.kur.connect("clicked", self.OnKurang)
self.kal.connect("clicked", self.OnKali)
self.bag.connect("clicked", self.OnBagi)

def bacaData(self):
self.nilai1 = float(self.edit1.get_text())
self.nilai2 = float(self.edit2.get_text())

def OnTambah(self, event):
self.edithasil.set_text("")
self.bacaData()

self.hasil = self.nilai1 + self.nilai2

self.edithasil.set_text("%.2f + %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))

def OnKurang(self, event):
self.edithasil.set_text("")
self.bacaData()

self.hasil = self.nilai1 - self.nilai2

self.edithasil.set_text("%.2f - %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))

def OnKali(self, event):
self.edithasil.set_text("")
self.bacaData()

self.hasil = self.nilai1 * self.nilai2

self.edithasil.set_text("%.2f x %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))

def OnBagi(self, event):
self.edithasil.set_text("")
self.bacaData()

if (self.nilai2 == 0.0):
self.edithasil.set_text("Terjadi Pembagian dengan Nol")
else:
self.hasil = self.nilai1 / self.nilai2

self.edithasil.set_text("%.2f / %.2f = %.2f" %(self.nilai1, self.nilai2, self.hasil))

def OnKeluar(self, event):
gtk.main_quit()

def run(self):
gtk.main()

if __name__ == '__main__':
aplikasi = Matematika()
aplikasi.run()



Download:: matematika.py

Tidak ada komentar:

Posting Komentar