Kamis, 08 Oktober 2009

Duel GUI Python -- wxPython, pyGTK, Tkinter --


-- wxPython --


-- pyGTK --


-- Tkinter --


# contoh program GUI sederhana dengan Tkinter
#
# masbiggie@malang, 5 Oktober 2009

import Tkinter

class PesanFrame(Tkinter.Frame):
def __init__(self, parent=None):
Tkinter.Frame.__init__(self, parent)
self.pack(padx=10, pady=10, fill='both', expand='yes')
self.master.title("Program GUI dengan Tkinter")
self.master.geometry("300x100")

self.aturKomponen()

def aturKomponen(self):
self.edit = Tkinter.Entry(self)
self.edit.pack(side='top', fill='x')

self.tombolBox = Tkinter.Frame(self)
self.tombolBox.pack(side='top', pady=10, fill='x')

self.klik = Tkinter.Button(self.tombolBox, text="Klik...",
command=self.OnKlik)
self.klik.pack(side='left', fill='x', expand='yes')
self.keluar = Tkinter.Button(self.tombolBox, text="Keluar",
command=self.OnKeluar)
self.keluar.pack(side='left', fill='x', expand='yes')

def OnKlik(self, event=None):
self.edit.delete(0, 'end')
self.edit.insert(0, "Inilah Tkinter...Mau?")

def OnKeluar(self, event=None):
self.quit()

if __name__ == '__main__':
frame = PesanFrame()
frame.mainloop()



# contoh program GUI sederhana dengan pyGTK
#
# masbiggie@malang, 5 Oktober 2009

import gtk

class PesanFrame:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Program GUI dengan pyGTK")
self.window.set_size_request(300, 100)
self.window.set_border_width(10)

self.aturKomponen()
self.aturKejadian()

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

self.edit = gtk.Entry()
vbox.pack_start(self.edit, True, True, 0)

hbox = gtk.HBox(True, 0)
vbox.pack_start(hbox, True, True, 0)

self.klik = gtk.Button("Klik...")
hbox.pack_start(self.klik, True, True, 0)
self.keluar = gtk.Button("Keluar")
hbox.pack_start(self.keluar, True, True, 0)

self.window.show_all()

def aturKejadian(self):
self.window.connect("destroy", gtk.main_quit)

self.klik.connect("clicked", self.OnKlik)
self.keluar.connect_object("clicked", gtk.Widget.destroy,
self.window)

def OnKlik(self, widget):
self.edit.set_text("")
self.edit.set_text("Inilah pyGTK...Mau?")


if __name__ == '__main__':
frame = PesanFrame()
gtk.main()



# contoh program GUI sederhana dengan wxPython
#
# masbiggie@malang, 5 Oktober 2009

import wx

class PesanFrame(wx.Frame):
def __init__(self, parent=None):
wx.Frame.__init__(self, parent, -1,
"Program GUI dengan wxPython",
size=(300, 100))

self.aturKomponen()
self.aturKejadian()

def aturKomponen(self):
self.panel = wx.Panel(self, -1)

self.edit = wx.TextCtrl(self.panel, -1, "")
self.klik = wx.Button(self.panel, -1, "Klik...")
self.keluar = wx.Button(self.panel, -1, "Keluar")

tombolBox = wx.BoxSizer(wx.HORIZONTAL)
tombolBox.Add(self.klik, 1, wx.EXPAND|wx.ALL)
tombolBox.Add(self.keluar, 1, wx.EXPAND|wx.ALL)

mainSizer = wx.BoxSizer(wx.VERTICAL)
mainSizer.Add(self.edit, 0, wx.EXPAND|wx.ALL, 10)
mainSizer.Add(tombolBox, 0,
wx.EXPAND|wx.BOTTOM|wx.RIGHT|wx.LEFT, 10)

self.panel.SetSizer(mainSizer)

def aturKejadian(self):
self.Bind(wx.EVT_BUTTON, self.OnKlik, self.klik)
self.Bind(wx.EVT_BUTTON, self.OnKeluar, self.keluar)

def OnKeluar(self, event):
self.Close()

def OnKlik(self, event):
self.edit.SetValue("")
self.edit.SetValue("Inilah wxPython..Mau?")

if __name__ == '__main__':
app = wx.PySimpleApp()

frame = PesanFrame()
frame.Show()

app.MainLoop()




OK..silahkan pilih..Anda suka mana?

3 komentar:

  1. enak yang TKinter , kodenya enak di baca yang TKinter. Mas gimana yah cara koneksi Python dengan Mysql yah , ajarin dong

    BalasHapus
  2. setahu saya, harus install dulu interface MySQLdb. trus kita panggil dengan import MySQLdb
    untuk koneksinya...
    self.db = MySQLdb.connect(host='localhost', user='root', passwd='pass', db='alamat')
    -- user dan passwd sesuai database

    saran saya, kalo program tidak digunakan secara client-server...lebih baik kita gunakan database SQLite (bawaan Python). Jujur, selama ini saya pake SQLite dan lebih mudah..Contoh tentang Python-SQLite, insyaAlloh akan segera saya share di blog ini..ditunggu aja...trims.

    SALAMA PYTHON DAHSYAT!!!

    BalasHapus
  3. mas ini

    if __name__ == '__main__':
    frame = PesanFrame()
    frame.mainloop()

    gmn mas???
    saya gak bisa jalan karna itu nya salah mksud'a apa perintah itu mas???

    BalasHapus