Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Aktuálně: Postihly zákazy tvou profesi? Poptávka po ajťácích prudce roste, využij slevové akce 80% výuky zdarma!
https://www.itnetwork.cz/csharp
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
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
gcx11
Redaktor
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.