我正在尝试将文本从加载的文件转换为ktinker .text,这是我到目前为止的代码,一旦使用filedialouge打开文件,我不太了解文件的位置
from tkinter import *
from tkinter import ttk
from tkinter import filedialog
import tkinter as tk
interface = tk.Tk()
interface.geometry("500x500")
interface.title("Text display")
def openfile():
return filedialog.askopenfilename()
button = ttk.Button(interface, text="Open text File", command=openfile) # <------
button.grid(column=1, row=1)
T = tk.Text(interface, height=2, width=30)
T.insert(tk.END, "text file contents here")
T.grid(column=1, row=2)
interface.mainloop()
您可以根据askopenfilename
的返回值来执行某些操作。从按钮回调返回它是没有意义的,因为什么都看不到返回的值。
按钮无法从函数返回值。您可能需要在openfile
中进行所有操作-打开文件,阅读并在Text
中输入文字>
# from tkinter import * # not preferred
import tkinter as tk
from tkinter import ttk
from tkinter import filedialog
# --- functions ---
def openfile():
filename = filedialog.askopenfilename()
if filename:
data = open(filename).read()
text.delete(1.0, 'end')
text.insert('end', data)
# --- main ---
interface = tk.Tk()
interface.geometry("500x500")
interface.title("Text display")
button = ttk.Button(interface, text="Open text File", command=openfile)
button.grid(column=1, row=1)
text = tk.Text(interface, height=2, width=30)
text.grid(column=1, row=2)
text.insert('end', "text file contents here")
interface.mainloop()