如何创建一个FileDialog出现在窗口的框架中,而不是将FileDialog作为弹出窗口?

时间:2019-07-01 15:50:21

标签: python user-interface tkinter frame filedialog

当应用程序打开时,如何嵌入出现在左侧框架中的FileDialog,而不是单击“浏览”按钮并使FileDialog成为弹出窗口?

我已经使用Python创建了一个GUI,在窗口中,左侧有一个框架,右侧有一个列表框。

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))

当我在框架内添加文件对话框时:

frame.browseFrame = filedialog.askopenfilename()

当我执行程序时,文件对话框打开了,但是它占据了整个窗口,而不仅仅是出现在框架中。

1 个答案:

答案 0 :(得分:0)

  

如何创建一个FileDialog出现在窗口的框架中,而不是将FileDialog作为弹出窗口?

不能。对话框由操作系统控制。您不能嵌入它们。