Python 如何创建一个显示在窗口框架中的文件对话框,而不是作为弹出窗口的文件对话框?
如何嵌入应用程序打开时出现在左侧框架中的文件对话框,而不是单击按钮浏览并使文件对话框成为弹出窗口 我已经使用Python创建了一个GUI,在窗口的左侧有一个框架,右侧有一个列表框Python 如何创建一个显示在窗口框架中的文件对话框,而不是作为弹出窗口的文件对话框?,python,user-interface,tkinter,frame,filedialog,Python,User Interface,Tkinter,Frame,Filedialog,如何嵌入应用程序打开时出现在左侧框架中的文件对话框,而不是单击按钮浏览并使文件对话框成为弹出窗口 我已经使用Python创建了一个GUI,在窗口的左侧有一个框架,右侧有一个列表框 def browseButtonClicked(): browsePath = filedialog.askopenfilename() . . . # GUI setup root = Tk() mainframe = ttk.F
def browseButtonClicked():
browsePath = filedialog.askopenfilename()
.
.
.
# GUI setup
root = Tk()
mainframe = ttk.Frame(root)
browseFrame = ttk.Frame(mainframe)
sfPathLB = Listbox(browseFrame, height=12, width=40, selectmode=MULTIPLE)
browseButton = ttk.Button(mainframe, text="Browse",
command=browseButtonClicked)
browseFrame.grid(column=1, row=2, rowspan=3, padx=3, sticky=(W+E+N+S))
sfPathLB.grid(column=3, row=2, rowspan=3, padx= 3, sticky=(W+E+N+S))
当我在框架内添加filedialog时:
frame.browseFrame = filedialog.askopenfilename()
当我执行程序时,filedialog打开了,但它占据了整个窗口,而不是仅仅出现在框架中
如何创建一个显示在窗口框架中的文件对话框,而不是作为弹出窗口的文件对话框
你不能。对话框由操作系统控制。您不能嵌入它们。对话框意味着在其自己的窗口中打开了一个小部件类型。是否有其他东西可以提供相同的结果?或者你能推荐一个替代方案吗@ipalekaYou可以尝试在开始时将frame小部件中的所有内容放在不可见的左侧框架内,并在调用时显示它。关于@ipaleka的最后一条评论:有一个frame.tkraise方法允许更改其内容的呈现顺序,允许在需要时隐藏它。这里有一个例子,用它来回答另一个tkinter相关的问题。