Python 2/GUI
Ulkoasu
< Python 2
(Ohjattu sivulta Python/GUI)Tkinter
[muokkaa | muokkaa wikitekstiä]Tkinter perustuu Tcl-nimisen ohjelmointikielen Tk-käyttöliittymäkirjastoihin. Tkinter kuuluu Python-tulkin oletuspaketteihin. Esimerkki:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import Tkinter
class HelloWorld:
def __init__(self):
window = Tkinter.Tk()
# ikkunan otsikko
window.title("Hei")
# Ikkunan koko leveys x korkeus
window.geometry("200x150")
# teksti
hello = Tkinter.Label(window, text = "Hei maailma!")
# lisätään teksti ikkunaan
hello.pack()
# luodaan ikkuna
window.mainloop()
if __name__ == "__main__":
HelloWorld()
Painike
[muokkaa | muokkaa wikitekstiä]Painikkeen luominen Tkinterillä. Esimerkki:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import Tkinter
class HelloWorld:
def __init__(self):
window = Tkinter.Tk()
window.title("Hei")
window.geometry("200x150")
# luodaan painike
button = Tkinter.Button(window, text = "Hei!", command = self.hello)
# lisätään painike ikkunaan
button.pack()
window.mainloop()
def hello(self):
print "Hei!"
if __name__ == "__main__":
HelloWorld()
Valikko
[muokkaa | muokkaa wikitekstiä]Valikon luominen Tkinterillä. Esimerkki:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import Tkinter
import sys
class HelloWorld:
def __init__(self):
window = Tkinter.Tk()
window.title("Hei")
window.geometry("200x150")
menubar = Tkinter.Menu(window)
window.config(menu=menubar)
filemenu = Tkinter.Menu(menubar)
filemenu.add_command(label="Avaa", command=self.open)
filemenu.add_separator()
filemenu.add_command(label="Lopeta", command=self.quit)
menubar.add_cascade(label="Tiedosto", menu=filemenu)
window.mainloop()
def open(self):
print "Valitsit avaa"
def quit(self):
print "Valitsit lopeta"
sys.exit(0)
if __name__ == "__main__":
HelloWorld()
Syötekenttä
[muokkaa | muokkaa wikitekstiä]Syötekentän luominen Tkinterillä. Esimerkki:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import Tkinter
class HelloWorld:
def __init__(self):
window = Tkinter.Tk()
window.title("Hei")
window.geometry("200x150")
self.text = Tkinter.Entry(window)
self.text.pack()
button = Tkinter.Button(window, text = "Tulosta", command = self.print_text)
button.pack()
window.mainloop()
def print_text(self):
print Tkinter.Entry.get(self.text)
if __name__ == "__main__":
HelloWorld()
PyGTK
[muokkaa | muokkaa wikitekstiä]PyGTK toimii Linuxilla, Windowsilla ja Mac OS X:llä. Esimerkki:
import pygtk
pygtk.require("2.0")
import gtk
class HelloWorld:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hei")
self.window.set_size_request(200, 150)
hello = gtk.Label("Hei maailma!")
self.window.add(hello)
hello.show()
self.window.show()
gtk.main()
if __name__ == "__main__":
HelloWorld()
Painike
[muokkaa | muokkaa wikitekstiä]Painikkeen luominen PyGTKlla. Esimerkki:
import pygtk
pygtk.require("2.0")
import gtk
class HelloWorld:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.set_title("Hei")
self.window.set_size_request(200, 150)
self.button = gtk.Button("Klikkaa")
self.button.connect("clicked", self.button_press, "Klikkaa")
self.window.add(self.button)
self.button.show()
self.window.show()
gtk.main()
def button_press(self, widget, data):
print "Painoit %s painiketta" % data
if __name__ == "__main__":
HelloWorld()
Valikko
[muokkaa | muokkaa wikitekstiä]Valikon luominen PyGTKlla. Esimerkki:
import pygtk
pygtk.require('2.0')
import gtk
class MenuExample():
def __init__(self):
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.set_title("Hei")
win.set_size_request(200, 150)
menubar = gtk.MenuBar()
file_item = gtk.MenuItem("_Tiedosto")
file_item_sub = gtk.Menu()
new = gtk.MenuItem("_Uusi")
quit = gtk.MenuItem("_Lopeta")
file_item_sub.append(new)
file_item_sub.append(quit)
file_item.set_submenu(file_item_sub)
menubar.append(file_item)
new.connect("activate", self.menu_press, "uusi")
quit.connect("activate", self.menu_press, "lopeta")
vbox = gtk.VBox()
vbox.pack_start(menubar, False, True, 0)
win.add(vbox)
win.show_all()
gtk.main()
def menu_press(self, widget, data):
print "Painoit %s" % data
if __name__ == "__main__":
MenuExample()
wxPython
[muokkaa | muokkaa wikitekstiä]wxPython toimii Windowsilla, Linuxilla ja Mac OS X:llä. Esimerkki:
import wx
class TestFrame(wx.Frame):
def __init__(self, parent, ID, title):
wx.Frame.__init__(self, parent, -1, title, pos=(0, 0), size=(320, 240))
panel = wx.Panel(self, -1)
text = wx.StaticText(panel, -1, "Test", wx.Point(10, 5), wx.Size(-1, -1))
class TestApp(wx.App):
def OnInit(self):
frame = TestFrame(None, -1, "Hello, world!")
self.SetTopWindow(frame)
frame.Show(True)
return True
if __name__ == '__main__':
app = TestApp(0)
app.MainLoop()
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Python-kielisen_ohjelmoinnin_perusteet (Wikiopiston opintopiirin opiskeluohjeita)
Johdanto: | |
---|---|
Tietotyypit ja tietorakenteet: |
Luvut - Merkkijonot - Lista - Monikko (tuple) - Sanakirja - Joukko (set) |
Ohjausrakenteet | |
Muut kielen rakenteet: |
Moduuli - Luokka - Funktio - Virheidenhallinta - Tiedosto |
Graafinen käyttöliittymä: | |
Harjoitustehtäviä: | |
Lisätiedot ja lähteet: |