将文件对话框放入tk.text

问题描述 投票:0回答:1

我正在尝试将文本从加载的文件转换为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()
python tkinter
1个回答
1
投票

您可以根据askopenfilename的返回值来执行某些操作。从按钮回调返回它是没有意义的,因为什么都看不到返回的值。


0
投票

按钮无法从函数返回值。您可能需要在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()
© www.soinside.com 2019 - 2024. All rights reserved.