Python / Tkinter-将按钮状态写入文件以在下次启动时自动重新应用?

我试图将按钮的前景色(由用户单击更改)的状态保存到.txt文件中,以便在下次运行时自动重新应用所述前景色。这是我拥有的代码... toggle_color可以完美地工作,它也可以将颜色状态写入.txt文件。但是,它不会在启动时自动更改颜色。意思是,我可能在最后一部分弄糟了。我做错了什么?


编辑:忘记调用.read()。但这toggle_color(colors = ['white', '#0055C4'])不是更改先前定义的公认方法。因此,我将如何更改toggle_color的colors变量?


 def toggle_color(last=[0]): #this is what toggles the fg color of the button

        colors = ['#0055C4', 'white']

        color = colors[last[0]]

        last[0] = (last[0] + 1) % 2

        savepass.config(fg=color)

        with open('loaderstate.txt', 'w') as loader_file:

            loader_file.write(savepass.cget('fg'))



savepasspic = PhotoImage(file="RememberMeBackground.png")

savepass=Button(root, font=('Arial Black',10),image=savepasspic, text="    remember me", compound=CENTER, command=toggle_color, activeforeground="#0055C4", activebackground="#303030", relief=GROOVE)

savepass.config(borderwidth=0, highlightthickness=0, width=120, height=18, fg='white', bg="grey")

savepass.place(x=105, y=287)


def blueoverall(): #changes the fg color of the button, and reverses toggle_color order

savepass.config(fg='#0055C4')

toggle_color(colors = ['white', '#0055C4'])


with open('loaderstate.txt', 'r') as loader_file: #should run automatically on startup and determine color of button fg

    if loader_file.read == '#0055C4':

        blueoverall()

    if loader_file.read == 'white':

        savepass.config(fg='white')


猛跑小猪
浏览 237回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python