Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将数据从文件加载到tkinter小部件_Python_Tkinter - Fatal编程技术网

Python 将数据从文件加载到tkinter小部件

Python 将数据从文件加载到tkinter小部件,python,tkinter,Python,Tkinter,因此,我正在tkinter中制作一个项目组织程序,它必须将以前保存的数据从文件加载到tkinter中的一个小部件(最好是一个标签),但我不知道如何只获取文件的第一行 我知道该做什么或从哪里开始 from tkinter import * import time opened = open("Opened.txt", 'r') opened = str(opened.read()) root = Tk() def Tasks(): global t1, t2, t3, t4, t5

因此,我正在tkinter中制作一个项目组织程序,它必须将以前保存的数据从文件加载到tkinter中的一个小部件(最好是一个标签),但我不知道如何只获取文件的第一行

我知道该做什么或从哪里开始

from tkinter import *
import time

opened = open("Opened.txt", 'r')
opened = str(opened.read())

root = Tk()

def Tasks():
    global t1, t2, t3, t4, t5


    t1 = Entry(root)
    t1.grid(row=0, column=1)
    t2 = Entry(root)
    t2.grid(row=1, column=1)
    t3 = Entry(root)
    t3.grid(row=2, column=1)
    t4 = Entry(root)
    t4.grid(row=3, column=1)
    t5 = Entry(root)
    t5.grid(row=4, column=1)

    tl1 = Label(root, text="Task 1")
    tl2 = Label(root, text="Task 2")
    tl3 = Label(root, text="Task 3")
    tl4 = Label(root, text="Task 4")
    tl5 = Label(root, text="Task 5")

    tl1.grid(row=0)
    tl2.grid(row=1)
    tl3.grid(row=2)
    tl4.grid(row=3)
    tl5.grid(row=4)

def save():
    task_file = open("Tasks.txt", 'w')

    tlv1 = t1.get()



    tlv2 = t2.get()



    tlv3 = t3.get()



    tlv4 = t4.get()



    tlv5 = t5.get()






    task_file.write("Task 1:" + str(tlv1) + "\n" + "Task 2:" + str(tlv2) 
+ "\n" + "Task 3:" + str(tlv3) + "\n" + "Task 4:" + str(tlv4) + "\n" + 
"Task 5:" + str(tlv5) + "\n")

    if len(t1.get()) == 0 and len(t2.get()) == 0 and len(t3.get()) == 0 and 
len(t4.get()) == 0 and len(t5.get()) == 0:
        nothing = Button(root, text="Nothing to save, click to close", 
command=lambda: nothing.destroy())
        nothing.grid(row=0, column=3)
        task_file.write(" ")



if opened == "No":
    Tasks()




Save_Entry = Button(root, text="Save Tasks", command=save).grid(row=0, 
column=2)











root.mainloop()

这是我能做的,但它所能做的只是将其保存到文件中。它无法将其加载到标签中。

要获取文件的第一行,可以使用readline()

我会注意到,您应该在打开文件后关闭它,并且不希望将文件对象重命名为字符串

要将字符串放入标签中,可以执行以下操作:

w = Label(master, text=first_line)

如果您想保持冷静,请将第一行包装到Stringvar()中,以便使用字符串值更改文本。

您只需要能够将文件的第一行转换为字符串即可。然后您可以研究如何将字符串放入小部件中。请一次问一个问题
w = Label(master, text=first_line)