Windows下的Python 2.7:我们如何控制Tkinter常用对话框的位置?
以下是我们发现的内容:
问题:
背景:
import tkColorChooser as colorchooser
import tkFileDialog as filedialog
import tkMessageBox as messagebox
; # always open up relative to parent windows
fileOpen = filedialog.askopenfilename()
fileOpens = filedialog.askopenfilenames()
fileSaveAs = filedialog.asksaveasfilename()
color = colorchooser.askcolor()
; # always open up centered on desktop
folderOpen = filedialog.askdirectory()
messagebox.askquestion()
谢谢你, 马尔科姆
答案 0 :(得分:1)
对于Windows消息框,您不能。它出现在屏幕的中央,就是这样。但是,文件选择对话框和颜色选择器是系统对话框,它们已经被赋予了Tk包装器,以便用户可以在此平台上查看库存对话框。如果你设置了-parent选项,那么这会被传递到包装好的窗口,它会将自己置于你指定的顶层之上。
在Tk:
toplevel .t
tk_chooseColor -parent .t
如何将其转变为Tkinter我将留给具有一定Python经验的人。
至于这些中心,CHOOSECOLOR结构的hwndOwner成员总是设置为你的一个Tk toplevels的HWND。要让它在桌面上为父对象,你需要在那里传递NULL而Tk不允许你。您可以获取unix版本(lib / clrpick.tcl)并显示相反,但在Windows桌面上看起来会很奇怪。