Cob*_*oss 3 python tkinter pycharm python-2.7
我正在尝试在 Tkinter 中创建一个记事本类型的程序,但无法弄清楚如何将文件的内容显示到标签...
我已经能够将其内容显示到 pyCharm shell 中,但是当我尝试在标签中显示时出现错误。
def openFile():
    fToOpen = filedialog.askopenfilename(filetypes=[("Text files","*.txt")])
    #print(fToOpen.read()) <-- ##This works##
    fileToOpen = open(fToOpen, 'r')
    Label(root, fileToOpen.read()).pack() <-- ##This doesn't##
    fToOpen.close()
我得到的错误是:
Run Code Online (Sandbox Code Playgroud)Traceback (most recent call last): File "C:\Users\Hello\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 1699, in __call__ return self.func(*args) File "C:/Users/Hello/Documents/html/Python/Prog.py", line 143, in openFile Label(root, fileToOpen.read()).pack(fill=Y) File "C:\Users\Hello\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 2760, in __init__ Widget.__init__(self, master, 'label', cnf, kw) File "C:\Users\Hello\AppData\Local\Programs\Python\Python36-32\lib\tkinter\__init__.py", line 2289, in __init__ classes = [(k, v) for k, v in cnf.items() if isinstance(k, type)] AttributeError: 'str' object has no attribute 'items'
谁能帮我?
这实际上相当简单。
您需要做的就是打开文件并将信息读入text小部件的属性中。
这可以如下完成:
from tkinter import *
root = Tk()
with open("file.txt", "r") as f:
    Label(root, text=f.read()).pack()
root.mainloop()
| 归档时间: | 
 | 
| 查看次数: | 13348 次 | 
| 最近记录: |