Teen ensimmäistä kertaa tkinterin kanssa koodailuja ja ymmärrän perusperiaatteen. Minulla on nyt määritelty def ja se hakee toisesta tiedostosta funktiot. Tämä koodi siis toimii hyvin, mutta en tunnu saavan sitä nyt tulostettua toiseen ikkunaan.
Koodi on seuraavanlainen (kesken täysin tiedän)
from functions import Ero
from tkinter import *
def main():
alku = input("Anna alkuetäisyys: ")
loppu = input("Anna loppuetäisyys: ")
ero = laskeEro(alku, loppu)
print("Antamilla etäisyyksillä ero on {} kilometriä".format(ero))
if (__name__ == "__main__"):
main()
window=Tk()
window.geometry("500x500")
window.title("Etäisyyslaskuri")
label1 = Label(main, text = pvm1).grid(row=0)
label2 = Label(main, text = pvm2).grid(row=1)
v1 = tk.Entry(main)
v2 = tk.Entry(main)
v1.grid(row=0, column=1)
v2.grid(row=1, column=1)
Nappi = tk.Button(text='Laske ero', command=main)
window.mainloop()
Tosiaan tiedän, että puuttu napin sijainti mm. ja paljon muuta.
Mutta miten pystyn laittamaan tuon def(main) funktion tuonne tkinter komentoon. Tärkeää on että tuo alku ja loppu ovat noita mitä entry kenttään laitetaan. Ja tosiaan puuttuhan tuosta vielä tuo lopputuloksen printtaaminen, onko ehdotuksia miten se saadaan.
OIen tässä viikon verran kokeillut kaikenlaisia ja tekisi mieli vain tehdä koko homma alusta alkaen, mutta kun koodi toimii hyvin muuten, en vaan saa sitä toiseen ikkunaan.. :/
Tkinterin luominen
8
93
Vastaukset
- Anonyymi
Muutin hieman koodiani. En saa vieläkään ikkunaa aukemaan. Kirjoitan kysymyksi koodiin.
from functions import Ero
def main():
pvm1 = input("Anna alkuetäisyys: ")
pvm2 = input("Anna loppuetäisyys ")
ero = Ero(alku,loppu)
print("Antamillasi etäisyyksillä ero on {} kilometriä".format(ero))
if (__name__ == "__main__"):
import tkinter
main()
window = tkinter.Tk()
window.title("Päivämäärä laskuri")
tkinter.Label(window, text = "alku").grid(row = 0)
tkinter.Entry(window).grid(row = 0, column = 1) #Miten saan tuon alku funktion tähän, jotta koodi ymmärtää tähän kohtaan sijoitetun arvon olevan tuo "alku"
tkinter.Label(window, text = "pvm2").grid(row = 1)
tkinter.Entry(window).grid(row = 1, column = 1)
Nappi = tkinter.Button(text='Laske ero', command=main).grid(row = 2, column = 1)
window.mainloop()
Hakkaan kyllä tämän kanssa jotenkin niin paljon näppäimistöä mitään aikaa saamatta.- Anonyymi
Entrystä saat arvon get()-metodilla. Nakkaa se entry ensin muuttujaan.
entry = tkinter.Entry(root)
entryString = entry.get() - Anonyymi
Tuosta linkistä saattaa löytyä apuja.
https://smallguysit.com/index.php/2017/11/11/tkinter-entry-widget/
- Anonyymi
Kannattaa lueskella tutoriaaleja. Ikkunan saa auki parilla rivillä.
>>> from tkinter import *
>>> Tk().mainloop()- Anonyymi
Kannattaa pitää turpansa kiinni jos ei asiasta mitään ymmärrä!
- Anonyymi
Anonyymi kirjoitti:
Kannattaa pitää turpansa kiinni jos ei asiasta mitään ymmärrä!
Ei minulla ole mitään ongelmia ikkunoiden aukomisessa. Ymmärrysongelma on jollakulla toisella.
- Anonyymi
Ai se olet sinä Iinukshihhuli joka et osaa edes Pythonia :-D
Harmittaa varmaan olla vajaataitoinen. No ei sitä Pythonia sudolla saa kuntoon... - Anonyymi
Anonyymi kirjoitti:
Ai se olet sinä Iinukshihhuli joka et osaa edes Pythonia :-D
Harmittaa varmaan olla vajaataitoinen. No ei sitä Pythonia sudolla saa kuntoon...Sinä näytät hyvin tietävän miltä tuntuu olla "vajaataitoinen", luultavasti olet muullakin tavoin kehittymätön ihmisenä, oletko holhouksenalainen.
Ketjusta on poistettu 3 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. Vuod225474- 324810
- 282721
- 342344
- 372058
- 152008
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191647- 121591
- 231462
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 kons251429