在Python

时间:2015-10-30 14:59:51

标签: python python-3.x tkinter label

我尝试使用Python 3.x在Tkinter中打开标签中的.txt文件 这是我写的代码:

from tkinter import *
tk = Tk()

#Title
tk.title("My Program")


f = open("file.txt", "r", encoding="UTF8").readlines()
Label(tk, text=f) .grid(row=0)

tk.mainloop()

它有效,这就是我得到的: Screenshot

如何在没有括号的情况下可视化文本?我该如何调整/证明它?

1 个答案:

答案 0 :(得分:0)

花括号是因为你告诉标签显示一个列表而不是一个字符串。原因是Tkinter建立在tcl解释器之上,而tcl使用花括号来保留列表元素边界。

简单的解决方案是将列表显式转换为字符串,或者根本不使用列表:

将列表转换为字符串:

f = open("file.txt", "r", encoding="UTF8").readlines()
Label(tk, text="\n".join(f)) .grid(row=0)

插入原始的非列表数据:

f = open("file.txt", "r", encoding="UTF8").read()
Label(tk, text=f) .grid(row=0)