Kirjoittaja: Hassu; viimeksi muokattu 08.10.2007.
Tagit: grafiikka, kirjastot
Lottonumeroiden arvonta graafisella käyttöliittymällä. Satunnaislukugeneraattori sinällään aivan tavallinen, mutta Pythonin Tkinter GUI harvemmin käytetty koodivinkeissä. Tämä yksinkertainen esimerkki näyttää pari perusasiaa.
from Tkinter import * import random class Numerot(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.pack() self.teevekottimet() def teevekottimet(self): # Painonapin lisääminen self.kakkos = Button (self, width=20, bg="brown", fg="white", text="Arvo numerot", cursor="trek", command=self.vastaa) # Painonappi näkyväksi self.kakkos.pack() # tulostuskentän lisääminen self.tulos = Label (self, bg="yellow", font=('times', 20, 'bold'), width=20, height=2) # tulostuskenttä näkyväksi self.tulos.pack() def vastaa(self): # satunnaislukugeneraattori numerot = random.sample(xrange(1, 40), 7) numerot.sort() # tulostus self.tulos.config(text=numerot) ohjelma = Numerot() ohjelma.master.title("Kenoraattori") ohjelma.mainloop()
minä testasin sinun ohjelmaasi niin joku yksityiskohta ei toiminut esim. xrange piti korvata range sanalla. tässä korvattu lottokone.
from tkinter import * import random class Numerot(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.pack() self.teevekottimet() def teevekottimet(self): # Painonapin lisääminen self.kakkos = Button (self, width=20, bg="brown", fg="white", text="Arvo numerot", cursor="trek", command=self.vastaa) # Painonappi näkyväksi self.kakkos.pack() # tulostuskentän lisääminen self.tulos = Label (self, bg="yellow", font=('times', 20, 'bold'), width=20, height=2) # tulostuskenttä näkyväksi self.tulos.pack() def vastaa(self): # satunnaislukugeneraattori numerot = random.sample(range(1, 40), 7) numerot.sort() # tulostus self.tulos.config(text=numerot) ohjelma = Numerot() ohjelma.master.title("Kenoraattori") ohjelma.mainloop()
lexathedj kirjoitti:
minä testasin sinun ohjelmaasi niin joku yksityiskohta ei toiminut esim. xrange piti korvata range sanalla. tässä korvattu lottokone.
Testasitko myös Python 2.5.1:llä (joka oli vinkin julkaisuajankohtaan uusin) tai vanhemmalla, vai esimerkiksi Python 3.x versiolla.
Sinänsä tietty ihan hyvä jos nyt on suoraan uudemmalla Pythonilla toimiva versio, mutta voisi olla järkevää kertoa myös millä versiolla tuo uusi on testattu.
Grez kirjoitti:
(28.10.2018 09:56:35): ”– –” Testasitko myös Python 2.5.1:llä (joka oli...
ai niin se onkin testattu python 3 sarjassa versiossa 3.6