Kirjautuminen

Haku

Tehtävät

Koodivinkit: Python: Lottokone Tkinter-käyttöliittymällä

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()

Kommentit

lexathedj [28.10.2018 09:33:51]

Lainaa #

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()

Grez [28.10.2018 09:56:35]

Lainaa #

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.

lexathedj [28.10.2018 10:06:39]

Lainaa #

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

Kirjoita kommentti

Muista lukea keskustelun ohjeet.
Tietoa sivustosta