Pieni pähkinä velhoille.
Pähkinä on siinä, että esimerkissä on kaksi aliohjelmaa joihin kumpaankin syötetään luku. Kuinka voimme saada aliohjelman luvut talteen ja summattavaksi aliohjelmassa kolme. Huomio, että entry ei ole pääohjelmassa, haluan tuon syöttökentän näkyviin vasta kun painetaan painiketta. Tuntuu siltä, että aliohjelma ei muista toisten aliohjelmien arvoja???
Ohjelma voi tehdä virheilmoituksen, kun tuo ensimmäisen rivin tkinter kirjoitetaan eri versiossa isolla kirjaimella!
from tkinter import *
def Eka():
Label(master, text="Syötä numero: ").grid(row=2, column=0)
tuote1 = Entry(master)
tuote1.grid(row=2, column=1)
def Toinen():
Label(master, text="Syötä toinen numero: ").grid(row=3, column=0)
tuote2 = Entry(master)
tuote2.grid(row=3, column=1)
def Kolmas():
Label(master, text="Tähän pitäisi tulla vastastaus: ").grid(row=4, column=0)
a = int(tuote1.get())
b = int(tuote2.get())
c=a b
master = Tk()
master.title("Valikko-ohjelma")
master.geometry("250x250")
Button(master, text='Paina ensin tätä', command=Eka).grid(row=0, column=0, sticky=W, pady=4)
Button(master, text='Seuraavaksi tätä', command=Toinen).grid(row=0, column=1, sticky=W, pady=4)
Button(master, text='Tämän pitäisi laskea luvut yhteen', command=Kolmas).grid(row=0, column=2, sticky=W, pady=4)
Pähkinä_purtavaksi/Pyhon/Tkinter
6
73
Vastaukset
- Velhoille
mainloop( )
Jäi lopusta - Velhoille
Olisi tosi tärkeä juttu minulle.
- toimii-mutta
from tkinter import *
def Eka():
Label(master, text="Syötä numero: ").grid(row=2, column=0)
global tuote1
tuote1 = Entry(master)
tuote1.grid(row=2, column=1)
def Toinen():
Label(master, text="Syötä toinen numero: ").grid(row=3, column=0)
global tuote2
tuote2 = Entry(master)
tuote2.grid(row=3, column=1)
def Kolmas():
Label(master, text="Tähän pitäisi tulla vastastaus: ").grid(row=4, column=0)
a = int(tuote1.get())
b = int(tuote2.get())
print(a,b)
c=a b
Label(master, text=c).grid(row=4, column=1)
master = Tk()
master.title("Valikko-ohjelma")
master.geometry("250x250")
Button(master, text='Paina ensin tätä', command=Eka).grid(row=0, column=0, sticky=W, pady=4)
Button(master, text='Seuraavaksi tätä', command=Toinen).grid(row=0, column=1, sticky=W, pady=4)
Button(master, text='Tämän pitäisi laskea luvut yhteen', command=Kolmas).grid(row=0, column=2, sticky=W, pady=4)
mainloop( )
varoitus:
Korjasin vain toimivaksi. En osaa pythonia ja sen tapoja. Muuttujat eivät näy oletuksena funktioiden ulkopuolelle. Jotenkin pitää tehdä globaaliksi tai välittää muutujien arvot tai osoitteet aliohjelmien kesken. - print-lause
oli testausta varten.
- Velhoille
Voi kiitos. On kiva huomata miten fiksuja ihmisiä tällä palstalla on ja vielä avuliaita:-)
- Affiliate-Julkaisia
Tässä yksi versio kyselylomakkeesta, jolla on ominaisuuksia jo enemän.
Lisätty:
- Lomakkeen keskitys ruudulle
- Virheellisen vastauksen kestävä
- Fokuksen siirto vastauskenttään
- Poistumis painike
- Merkistökoodaus UTF-8
- Geometriaa parannettu
Noista ominaisuuksista saattaa olla iloa jatkossa, ellei nyt ihan tähän tarpeeseen olisikaan sopivia.
Linkki: http://paste.ofcode.org/AUkx2diPFxCiN2nj7pV9ay
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225254- 254408
- 282561
- 342264
- 372008
- 151938
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191617- 121541
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons211277Kerranki asiat oikein
Ilkka ja muut pienpuolueeet...teitte hyvän työn kun valitsitte pätevän henkilön virkaan eikä kepulle passelia!! Jatkakaa101194