NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
S účinností od 26. 3. jsme aktualizovali Zásady zpracování osobních údajů – doplnili jsme informace o monitorování telefonických hovorů se zájemci o studium. Ostatní části zůstávají beze změn.
Avatar
Jiří Velich:30.5.2015 9:49

Zdravím začínám s programováním, a první nápad je udělat si jednoduchou databazy, zasekl jsem se při vložení dat do lablu. meli se zobrazit data z jmeno1, priijmeni1,mesto1, což se nestane. ale pokud mam ten label v definici tak mi to funguje. prosím o radu. i když myslím že by to melu byt vraceno pře return ale nevím jak

from tkinter import *


barva1 = "#6E7E94"
barva2 = "#56C5FF"

def poslat():
    jmeno1 = jmeno.get()
    prijmeni1 = prijmeni.get()
    mesto1 = mesto.get()
    vstup1.delete(0,END)
    vstup2.delete(0,END)
    vstup3.delete(0,END)
    return(jmeno1)

root = Tk()
root.geometry("700x500")
root.configure(bg= barva1)

jmeno = StringVar()
prijmeni = StringVar()
mesto= StringVar()

jmeno1 = ""
prijmeni1 = ""
mesto1 = ""



#jmeno
vstup1 = Entry(root,textvariable = jmeno)
vstup1.place(x=100,y=25)
label = Label(root, text="jmeno:",bg = barva1,fg= barva2 )
label.place(x=40,y=25)

#prijmeni
vstup2 = Entry(root,textvariable = prijmeni)
vstup2.place(x=100,y=50)
labe2 = Label(root, text="prijmeni:",bg = barva1,fg= barva2 )
labe2.place(x=40,y=50)

#mesto
vstup3 = Entry(root,textvariable = mesto)
vstup3.place(x=100,y=75)
labe3 = Label(root, text="mesto:",bg = barva1,fg= barva2 )
labe3.place(x=40,y=75)

text=Label(root,text = " %s \t %s \t %s " %(jmeno1,prijmeni1,mesto1))
text.place(x=40,y=250)

print(jmeno1,prijmeni1,mesto1)



tlac = Button(root,command=poslat,text = "  Stiskni  ")
tlac.place(x=250,y=25)









root.mainloop()
 
Odpovědět
30.5.2015 9:49
Avatar
Vítek Peterka:18.8.2015 8:58

No v pythonu už jsem chvíly nedělal a Tkintru už vůbec ne ale co si pamatuji....

Nemělo by tam být něco jako

labe1.pack()

?

 
Nahoru Odpovědět
18.8.2015 8:58
Avatar
gcx11
Tvůrce
Avatar
Odpovídá na Jiří Velich
gcx11:18.8.2015 9:36

Ahoj, funkce poslat vrací akorát proměnnou jmeno1 a nikde nic nenastavuješ na zobrazení. Ten return je tam zbytečný, nic tam užitečného nedělá.

Místo toho by bylo lepší ten text nastavit do toho labelu. Zde je upravená verze funkce poslat():

def poslat():
    jmeno1 = jmeno.get()
    prijmeni1 = prijmeni.get()
    mesto1 = mesto.get()
    vstup1.delete(0,END)
    vstup2.delete(0,END)
    vstup3.delete(0,END)
    print(jmeno1,prijmeni1,mesto1)
    text["text"] = " %s \t %s \t %s " %(jmeno1,prijmeni1,mesto1)
text["text"]

nastaví text labelu.

 
Nahoru Odpovědět
18.8.2015 9:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.