[Tkinter-discuss] tkFileDialog
Michael Lange
klappnase at web.de
Tue Jul 30 15:01:16 CEST 2013
Hi Paul,
On Tue, 30 Jul 2013 12:02:37 +0200
Paul Malherbe <paul at tartan.co.za> wrote:
> HI
>
> I have a question regarding tkFileDialog.
>
> Is there any way I can create the dialog with customised dimensions as
> the default is very small?
There doesn't seem to be something obvious.
I tried to use the option database with:
root.option_add('*TkFDialog*width', 40)
root.option_add('*TkFDialog*height', 40)
which to my surprise actually made the dialog rather wide (though I am
not sure about the units, but had no effect on the dialog's height.
Then I tried another, more ambtious approach, with:
root.tk.call('wm', 'geometry', '.__tk_filedialog', '800x600')
which apparently fails if no dialog windoe has been created yet. Finally I
actually got it working, with this somewhat weird bit of code:
#########################################################################
from Tkinter import *
from tkFileDialog import askopenfilename, asksaveasfilename
root=Tk()
def test():
#print 'test'
try:
w, h = root.winfo_screenwidth(), root.winfo_screenheight()
x, y = w / 2 - 400, h /2 - 300
root.tk.call('wm', 'geometry', '.__tk_filedialog',
'800x600+%d+%d' % (x, y))
except TclError:
root.after(100, test)
test()
def test1(ev):
askopenfilename()
def test2(ev):
asksaveasfilename()
root.bind('<F1>', test1)
root.bind('<F2>', test2)
root.mainloop()
#########################################################################
Hmm... the "center on screen" gimmick works only with the first dialog,
can someone fix that ;)
Anyway, unless we come up with something better, I'd classify this as
strictly "don't try this at home"-ish :)
Regards
Michael
.-.. .. ...- . .-.. --- -. --. .- -. -.. .--. .-. --- ... .--. . .-.
No one wants war.
-- Kirk, "Errand of Mercy", stardate 3201.7
More information about the Tkinter-discuss
mailing list