python3 tkinter gui没有对执行做出反应

时间:2016-09-04 21:17:52

标签: user-interface tkinter python-3.5

我正在为我的python3 GUI使用tkinter。我在IDLE执行时编写的脚本。但是当我尝试执行它而没有GUI没有响应时。

以下是代码:

#! python3

from tkinter import *
import tkinter as tk

class Program:

    nameC  = ""
    master = ""
    varC   = ""

    def callback(self):  
        self.nameC= filedialog.askopenfilename()

    def __init__(self):
        self.master = Tk()
        self.varC = StringVar(self.master)

        l1 = Label(text="Open file", relief=RIDGE,width=15)
        l1.grid(row=0,column=0)
        b1 = Button(text='Open', command=self.callback)
        b1.grid(row=0,column=1)


program = Program()
mainloop()

到目前为止,我有一个按钮和一个标签。如果我单击该按钮,则使用回调函数

打开一个filedialog

编辑:修复了代码中的一个错误 如果它有帮助,我正在使用Windows

1 个答案:

答案 0 :(得分:0)

所以在控制台中运行脚本后(如上所述,不是IDLE)我发现我必须导入filedialog:

#! python3

from tkinter import *
from tkinter import filedialog # this is what I needed
import tkinter as tk

class Program:

   nameC  = ""
   master = ""
   varC   = ""

   def callback(self):  
       self.nameC= filedialog.askopenfilename()

   def __init__(self):
       self.master = Tk()
       self.varC = StringVar(self.master)

       l1 = Label(text="Open file", relief=RIDGE,width=15)
       l1.grid(row=0,column=0)
       b1 = Button(text='Open', command=self.callback)
       b1.grid(row=0,column=1)


program = Program()
mainloop()