<br><font size=2 face="sans-serif">V Tkinteri sa hodnoty premennych ziskavaju
vzdy cez get(). </font>
<br>
<br><font size=2 face="sans-serif">Okrem toho by som ti ale doporucil pouzivat
objektovo orientovany pristup:</font>
<br>
<br><font size=2 face="sans-serif">Je to prirodzeny pristup pri Tkinter,
usetris si tym namahu a umozni ti vyriesit rozne uskalia, ktore Tkinter
ma. </font>
<br><font size=2 face="sans-serif">Okrem toho maju jednotlive GUI-prvky
metody, ktore si treba predefinovat, </font>
<br><font size=2 face="sans-serif">Napr.v tkSimpleDialog.Dialog treba predefinovat
metody body() a apply(). </font>
<br><font size=2 face="sans-serif">Na to treba vytvorit vlastnu triedu,
ktora dedi z tkSimpleDialog.Dialog a v nej nadefinovat metody.</font>
<br>
<br><font size=2 face="sans-serif">Toto by bez OO neslo - alebo neviem
jak :-)</font>
<br>
<br><font size=2 face="sans-serif">Tu je priklad, ktory som na ilustraciu
vytrhol z jedneho programu</font>
<br>
<br><font size=2 face="sans-serif">--------------------------------------------------------------------------------------------</font>
<br><font size=2 face="Courier New"># -*- coding: cp1250 -*- </font>
<br><font size=2 face="Courier New">from Tkinter import * </font>
<br><font size=2 face="Courier New">import tkSimpleDialog</font>
<br>
<br><font size=2 face="Courier New">class MyConnectionDialog(tkSimpleDialog.Dialog):</font>
<br><font size=2 face="Courier New">&nbsp; ''' Connection settings entry
dialog ''' </font>
<br>
<br><font size=2 face="Courier New">&nbsp; def __init__(self, parent, machine
= '', userid = '', passwd = ''):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; # Show previous values
in dialog: &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; # 1. create object attributes
from parameters</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.machine = machine</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.userid = userid</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.passwd = passwd</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; # 2. call parrent __init__(),
which calls the function body()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; tkSimpleDialog.Dialog.__init__(self,
parent, title = None)</font>
<br>
<br>
<br><font size=2 face="Courier New">&nbsp; def body(self, master):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.title(u'Pripojenie
na AS/400') &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; Label(master, text=u&quot;AS/400:&quot;).grid(row=0)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; Label(master, text=u&quot;Uľívateµ:&quot;).grid(row=1)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; Label(master, text=u&quot;Heslo:&quot;).grid(row=2)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e1 = Entry(master)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e1.insert('0',self.machine)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e2 = Entry(master)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e2.insert('0',self.userid)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e3 = Entry(master,
show=&quot;*&quot;)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e3.insert('0',self.passwd)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e1.grid(row=0, column=1)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e2.grid(row=1, column=1)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.e3.grid(row=2, column=1)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; # Set initial focus</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; if self.machine == '':</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; return self.e1
# initial focus</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; elif self.userid == '':</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; return self.e2
# initial focus</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; else:</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; return self.e3
# initial focus</font>
<br>
<br>
<br><font size=2 face="Courier New">&nbsp; def apply(self):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.machine = self.e1.get()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.userid = self.e2.get()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.passwd = self.e3.get()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; </font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.result = 1</font>
<br>
<br><font size=2 face="Courier New"># --- Main Windows GUI Class</font>
<br><font size=2 face="Courier New">class MyGUI:</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; </font>
<br><font size=2 face="Courier New">&nbsp; def __init__(self):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.root = Tk()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.root.title(u'Nadpis
hlavného okna')</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; # initial login values</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.csebk = 'IBPPROD'</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.userid= ''</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.pwd &nbsp; = ''
</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.connected = False</font>
<br>
<br><font size=2 face="Courier New">&nbsp; def nastavenia(self):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; if (not self.connected):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; settings = MyConnectionDialog(self.root,
self.csebk, self.userid, self.pwd)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; if settings.result
&lt;&gt; None:</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; self.csebk
= settings.machine</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; self.userid=
settings.userid</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; self.pwd
&nbsp; = settings.passwd &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font>
<br>
<br><font size=2 face="Courier New">&nbsp; def run(self):</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; self.nastavenia()</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; print &quot;Bolo zadane:
%s %s %s&quot; % (self.csebk, &nbsp;self.userid, self.pwd)</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; </font>
<br>
<br><font size=2 face="Courier New">if __name__ == &quot;__main__&quot;:</font>
<br><font size=2 face="Courier New">&nbsp; # Run program</font>
<br><font size=2 face="Courier New">&nbsp; mg = MyGUI() </font>
<br><font size=2 face="Courier New">&nbsp; mg.run() </font>
<br><font size=2 face="sans-serif">--------------------------------------------------------------------------------------------</font>
<br>
<br><font size=2 face="sans-serif"><br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;Jan ©imůnek&quot;
&lt;jsim@med.muni.cz&gt;</b> </font>
<br><font size=1 face="sans-serif">Sent by: tutor-bounces@py.cz</font>
<p><font size=1 face="sans-serif">09.10.2006 15:59</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
Konference Tutor portalu PyCZ &lt;tutor@py.cz&gt;</font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">tutor@py.cz</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">[Tutor PyCZ] přenos hodnoty
proměnné z elementu GUI (Tkinter) do hlavního programu</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2><tt>Děkuji, pomohlo to<br>
<br>
Jan ©imůnek<br>
_______________________________________________<br>
Tutor mailing list<br>
Tutor@py.cz<br>
http://www.py.cz/mailman/listinfo/tutor<br>
</tt></font>
<br><font size=2 face="sans-serif"><br>
Mgr. Ing. Roman MIKLÓ© <br>
Prvá stavebná sporiteµňa a.s. <br>
Bajkalská 30, P. O. Box 48 <br>
829 48 &nbsp;Bratislava 25 <br>
Tel.: +421/ 2 / 582 31 174 <br>
Fax: +421/ 2 / 582 31 109 <br>
</font>