[Tutor] A few newbie questions about Tkinter (disregard previous)
Denis
spirou@aragne.com
Tue, 15 Aug 2000 03:05:26 +0200
--qDbXVdCdHGoSgWSk
Content-Type: text/plain; charset=us-ascii
Le Mon, Aug 14, 2000 at 12:10:41PM -0700, Joseph Stubenrauch pianota:
> Any suggestions? Perhaps just some pseudo-code to
> give me some pointers?
>
Do you use Tkinter variables ? (StringVar)
Are you sure dialogs are the best way ?
Why not a single form with a left and right side, a status and so on ?
> presses "tab"?
set the takefocus property of your desired widgets to 1 if needed
I attach some "cut&try" code so that you can play with it.
Have fun,
P.S.
You could also ckeck http://www.browsebooks.com/Grayson/
You'll find the source code of the book.
Have a look at Example_12_1.py : it's about a Navigation class ...
and try to find someone to offer you the book :-)
--
Denis FRERE
P3B : Club Free-Pytho-Linuxien Caroloregien http://www.p3b.org
Aragne : Internet - Reseaux - Formations http://www.aragne.com
--qDbXVdCdHGoSgWSk
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: attachment; filename="takefocus.py"
Content-Transfer-Encoding: 8bit
#!/usr/bin/env python
#
#------------------------------------------------
# Sample program to show the takefocus property
# and some other features of Tkinter
#
# by Spirou
# http://www.p3b.org
#------------------------------------------------
#
from Tkinter import *
root = Tk()
# callbacks
def shownext(event):
"""
show the next word in the book
"""
global pointer
pointer = pointer + 1
if pointer > len(book)-1:
pointer = 1
var1.set(book[pointer])
var2.set('')
return var1.get()
def die(event):
"""
Quit
"""
root.quit()
# a book and a pointer
book = ["Mot français",
"programmer", "variable", "objet", "afficher", "dictionnaire"]
pointer = 0
# and two Tkvariables for the Entries
var1 = StringVar()
var1.set(book[pointer])
var2 = StringVar()
var2.set("English Translation")
# a big superior frame
f1 = Frame(root,
bg="darkslateblue",
highlightthickness = 2,
highlightcolor = "blue",
width=400, height=240
)
# a small one for the buttons
f2 = Frame(root,
bg="darkslateblue",
highlightthickness = 2,
highlightcolor = "blue",
width=400, height=60
)
# 2 frames in the big superior, with the entries
fa = Frame(f1,
bg="lightslateblue",
## takefocus = 1,
highlightthickness = 2,
highlightcolor = "violet",
width=100, height=240
)
fb = Frame(f1,
bg="lightslateblue",
## takefocus = 1,
highlightthickness = 2,
highlightcolor = "violet",
width=100, height=240
)
f1.pack(side=TOP, expand=YES, fill=BOTH)
f2.pack(side=TOP, expand=NO, fill=X)
fa.pack(side=LEFT, expand=YES, fill=BOTH)
fb.pack(side=RIGHT, expand=YES, fill=BOTH)
t1 = Entry(fa,
textvariable = var1,
takefocus = 0, # so, it won't get the focus
highlightthickness = 1,
highlightcolor = "red",
width=25
)
t2 = Entry(fb,
textvariable = var2,
## takefocus = 1, # this one will get the focus (default value)
highlightthickness = 1,
highlightcolor = "red",
width=25
)
t1.pack()
t2.pack()
# two buttons, one to move the cursor ahead, the other to quit
b1 = Button(f2,
text="next",
highlightthickness = 2,
highlightcolor = "red"
)
b1.bind('<Button-1>', shownext)
b1.bind('<KeyPress Return>', shownext)
b1.bind('<KeyPress space>', shownext)
b2 = Button(f2,
text="quit",
highlightthickness = 2,
highlightcolor = "red"
)
b2.bind('<Button-1>', die)
b2.bind('<KeyPress Return>', die)
b2.bind('<KeyPress space>', die)
b2.pack(side=RIGHT)
b1.pack(side=RIGHT)
# and go
root.wm_title("Tabs & Tkinter Variables")
root.wm_minsize(400, 300)
root.mainloop()
--qDbXVdCdHGoSgWSk--