Jak dostat obsah Entry z okna Toplevel nazpět do textu v okně Main? – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak dostat obsah Entry z okna Toplevel nazpět do textu v okně Main? – Python – Fórum – Programujte.comJak dostat obsah Entry z okna Toplevel nazpět do textu v okně Main? – Python – Fórum – Programujte.com

 

Wrunx
~ Anonymní uživatel
35 příspěvků
14. 10. 2011   #1
-
0
-

 Ve zkratce vypadá situace takto:

#!/usr/bin/env python

from Tkinter import *

def VemTxt():
podokno=Toplevel(hlavni)
blok=Entry(podokno);blok.pack()
b2=Button(podokno, text="Ano vlozit do Seznam a tt")
b2.pack(side=LEFT)
blok.focus_set()
podokno.mainloop()

hlavni = Tk()
tt = Text(hlavni, width=20, height=3)
tt.pack(side=LEFT)
b1=Button(hlavni, text="Vlozit",command=VemTxt)
b1.pack(side=LEFT)
Seznam="Zacatek seznamu"
tt.insert(END,Seznam)

mainloop()

Chtěl bych mít globální proměnnou Seznam, do které se budou vstupy skládat. Seznam by se měl po každém vstupu zobrazit v poli tt. Nějak mi nejde dostat obsah Entry blok z Toplevel ven. Byla by nějaká rada jak na to, nebo návod pokud je moje metoda dočista špatná? Děkuji W.

Nahlásit jako SPAM
IP: 188.120.195.–
zlz
~ Anonymní uživatel
634 příspěvků
Nahlásit jako SPAM
IP: 213.211.51.–
Wrunx0
Duch
15. 10. 2011   #3
-
0
-

#2 zlz
Děkuji, pomocí předdefinovaného formuláře z tkSimpleDialog to řešit jde.

V předchozí otázce mi šlo asi o to, co napsat k řádce b2=Button(podokno, text="Ano vlozit do Seznam a tt") za command=....(???) aby to po stisku onoho tlačítka udělalo požadované - tj. přidalo obsah proměnné blok do Seznam a/nebo do pole tt. Protože když jsem v parametru command=nejake_jmeno_obsluzne_procedury zavolal tu proceduru, tak už jsem v ní nedokázal adresovat ani tt, ani proměnnou blok, interpret hlásil chybu...

Nahlásit jako SPAM
IP: 188.120.195.–
zlz
~ Anonymní uživatel
634 příspěvků
16. 10. 2011   #4
-
0
-

Jestli se učíš z nějakých materiálů, tak se vrať zpátky tam, kde se probírají proměnné a funkce. Možná tam narazíš i na ten global ;) Nebo si vyber třeba něco tady - http://www.py.cz/TutorialyLiteratura. A na Tkinter se zatím vybodni.

Nahlásit jako SPAM
IP: 213.211.51.–
Wrunx0
Duch
16. 10. 2011   #5
-
0
-

#4 zlz
Dík za doporučení, vezmu si ho k srdci. Nicméně původní sadu programů už mám dávno hotovou a funkční, akorát že pracují s oknem terminálu. Tak jsem to chtěl převést do Tk protože je to součást Pythonu nativně podporovaná ve Win, Ubuntu i PCLinuxOS, pro ty systémy pracuji. Takže když se na Tkinter vybodnu, v ničem mi to sice neuškodí, ale ani nepomůže :-)

Nahlásit jako SPAM
IP: 188.120.195.–
Wrunx
~ Anonymní uživatel
35 příspěvků
9. 9. 2012   #6
-
0
-

Tak jsem se po delší době vrátil ke svému vlastnímu dotazu :-)
Možné řešení které mi vyhovuje by mohlo být např.:

from Tkinter import *

def VemTxt():

  def Nacti():
    tt.insert(END,blok.get())

  podokno=Toplevel(hlavni)
  blok=Entry(podokno);blok.pack()
  b2=Button(podokno, text="Ano vlozit do Seznam a tt",command=Nacti)
  b2.pack(side=LEFT)
  blok.focus_set()
  podokno.mainloop()

hlavni = Tk()
tt = Text(hlavni, width=20, height=3)
tt.pack(side=LEFT)
b1=Button(hlavni, text="Vlozit",command=VemTxt)
b1.pack(side=LEFT)
Seznam="Zacatek seznamu"
tt.insert(END,Seznam)

mainloop()

Čili to, na co jsem se původně ptal, je a) syntaxe prvek.get, b) umístění procedurky do těla podprogramu. Ne že by to bylo kdovíjak důležité, to jen abych nezůstal dlužen vysvětlení vlastní neznalosti :-)

Nahlásit jako SPAM
IP: 188.120.195.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý