Tkinterin luominen

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.. :/
8165
Äänestä

Muut lukivat myös

Vastaukset 8

Vanhimmat

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.

Äänestä

Kannattaa lueskella tutoriaaleja. Ikkunan saa auki parilla rivillä.

>>> from tkinter import *
>>> Tk().mainloop()

Äänestä
  • Kannattaa pitää turpansa kiinni jos ei asiasta mitään ymmärrä!

    Äänestä

  • 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.

    Äänestä

  • Ai se olet sinä Iinukshihhuli joka et osaa edes Pythonia :-D

    Harmittaa varmaan olla vajaataitoinen. No ei sitä Pythonia sudolla saa kuntoon...

    Äänestä

  • 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.

    Äänestä

Ketjusta on poistettu 3 sääntöjenvastaista viestiä.

Kommentoi aloitusta


Anonyymi kirjoitti:

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.. :/

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu