尝试使用 tkinter 从函数中获取变量
Trying to get a variable from a function using tkinter
我一直在尝试将打印输出放入变量中。每当我调用该函数时,它只是简单地重复按钮过程。我尝试使用 global,但它似乎不起作用。
请帮忙谢谢。
from tkinter import *
from tkinter import filedialog
import tkinter as tk
def openFile():
filepath = filedialog.askopenfilename(title="Open for me")
print(filepath)
window.destroy()
window = tk.Tk()
window.title("Insert Excel File")
window.geometry("200x200")
button = Button(text="Open",command=openFile,height=3,width=10)
button.pack()
window.mainloop()
print
,将字符串输出到 stdout
它不会将值存储在变量中,您需要自己存储它。
由于您使用的是回调,因此无法 return 该值。实现这个最好的方法是使用类,不好的方法是使用一个全局变量来存储结果
我假设您不熟悉 类,因此可能的解决方案是
from tkinter import *
from tkinter import filedialog
import tkinter as tk
path = ""
def openFile():
global path
path = filedialog.askopenfilename(title="Open for me")
window.destroy()
window = tk.Tk()
window.title("Insert Excel File")
window.geometry("200x200")
button = Button(text="Open",command=openFile,height=3,width=10)
button.pack()
window.mainloop()
# do something with path e.g. print
print(path)
我一直在尝试将打印输出放入变量中。每当我调用该函数时,它只是简单地重复按钮过程。我尝试使用 global,但它似乎不起作用。
请帮忙谢谢。
from tkinter import *
from tkinter import filedialog
import tkinter as tk
def openFile():
filepath = filedialog.askopenfilename(title="Open for me")
print(filepath)
window.destroy()
window = tk.Tk()
window.title("Insert Excel File")
window.geometry("200x200")
button = Button(text="Open",command=openFile,height=3,width=10)
button.pack()
window.mainloop()
print
,将字符串输出到 stdout
它不会将值存储在变量中,您需要自己存储它。
由于您使用的是回调,因此无法 return 该值。实现这个最好的方法是使用类,不好的方法是使用一个全局变量来存储结果
我假设您不熟悉 类,因此可能的解决方案是
from tkinter import *
from tkinter import filedialog
import tkinter as tk
path = ""
def openFile():
global path
path = filedialog.askopenfilename(title="Open for me")
window.destroy()
window = tk.Tk()
window.title("Insert Excel File")
window.geometry("200x200")
button = Button(text="Open",command=openFile,height=3,width=10)
button.pack()
window.mainloop()
# do something with path e.g. print
print(path)