Python Tkinter浏览按钮自删除

Python Tkinter浏览按钮自删除,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我试图在tkinter中创建一个浏览按钮。我已经创建了“打开文件夹”对话框,但当我将其设置为按钮时,它将退出窗口 我的最终目标是: 1点击按钮,弹出文件对话框 2选择一个文件 3将文件名插入条目小部件以供以后使用 我应该注意,我使用了多个窗口框架来总结下面的代码 import os import sys import Tkinter as tk from tkFileDialog import askopenfilename def openFile(entryWidgetName):

我试图在tkinter中创建一个浏览按钮。我已经创建了“打开文件夹”对话框,但当我将其设置为按钮时,它将退出窗口

我的最终目标是: 1点击按钮,弹出文件对话框 2选择一个文件 3将文件名插入条目小部件以供以后使用

我应该注意,我使用了多个窗口框架来总结下面的代码

import os
import sys
import Tkinter as tk
from tkFileDialog import askopenfilename

def openFile(entryWidgetName):
    tk.Tk().withdraw() 
    filename = askopenfilename()
    entryWidgetName.delete(0,tk.END)
    entryWidgetName.insert(0,filename)
    return

class Welcome():
    def __init__(self,master):
        self.buttonNewTemplate = tk.Button(self.master, text = 'Create a New Template', command = self.gotoNewTemplate).place(x=100, y=250)
    def gotoNewTemplate(self):
        root2 = tk.Toplevel(self.master)
        newTemplate = NewTemplate(root2)


class NewTemplate():
    def __init__(self, master):
        #Entry Windows
        self.uploadFile = tk.Entry(self.sectionFrame2, width = 80).grid(row=4, column = 1, sticky = 'w')
        #Buttons
        self.buttonBrowse=tk.Button(self.sectionFrame2, text='Browse', fg='blue', command=lambda:openFile(uploadFile)).grid(row=4, column = 0, padx = 10, sticky = 'w')
每次我点击浏览按钮,第二个窗口就会自我毁灭,把我带回主页面


有人有什么建议吗?

tkinter应用程序只能有一个Tk实例。您至少创建了两个:一个显式地在openFile中创建,另一个隐式地或显式地从代码中的其他地方创建

由于调用openFile的唯一方法是单击按钮,而单击按钮的唯一方法是拥有按钮,拥有按钮的唯一方法是已经拥有根窗口,因此需要删除语句tk.tk.draw,因为这将创建一个新的根窗口

您的代码中可能还有其他问题,但根据问题中不完整的代码,不可能知道