Обычно я пытаюсь составить список переменных, которые обновляются каждую секунду, но я могу получить только последний ярлык для обновления.Я не слишком знаком с Tkinter и ничего не помогало мне.Я думаю, что главная проблема заключается в том, что я получил его по определению, но я не знаю другого способа, если кто-то может помочь мне решить мою проблему или даже помочь пересмотреть программу, это было бы очень признательно.
import time
import textwrap
from tkinter import Tk, Label, Button
from pathlib import Path
while True:
print(textwrap.fill("Please enter the name that you entered for the main document. It must have the exact same characters and is case sensitive.", 70))
Name = input()
FileName = Name+".txt"
P = Path(FileName)
if P.exists():
class MyFirstGUI:
def __init__(self, master):
with open(FileName, "r") as file:
global Points
global Item1
global Item2
global Item3
global PPC
global PPS
global Item1Cost
global Item2Cost
global Item3Cost
read = file.read().splitlines()
Points = read[0]
Item1 = read[1]
Item2 = read[2]
Item3 = read[3]
PPC = 1 + int(Item3)
PPS = int(Item1)*1 + int(Item2)*5
Item1Cost = read[6]
Item2Cost = read[7]
Item3Cost = read[8]
Points = int(Points) + int(PPS)
VarList = [str(Points), str(Item1), str(Item2), str(Item3), str(PPC), str(PPS), str(Item1Cost), str(Item2Cost), str(Item3Cost)]
with open(FileName, "w") as file:
for List in VarList:
file.write(List+'\n')
root = Tk()
self.master = master
master.title("Menu")
self.label = Label(master, text=Points, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item1, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item2, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item3, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item1Cost, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item2Cost, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=Item3Cost, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=PPC, anchor='w')
self.label.pack(fill='both', padx=10)
self.label = Label(master, text=PPS, anchor='w')
self.label.pack(fill='both', padx=10)
root.after(1000, self.task)
def task(self):
with open(FileName, "r") as file:
global Points
global Item1
global Item2
global Item3
global PPC
global PPS
global Item1Cost
global Item2Cost
global Item3Cost
read = file.read().splitlines()
Points = read[0]
Item1 = read[1]
Item2 = read[2]
Item3 = read[3]
PPC = 1 + int(Item3)
PPS = int(Item1)*1 + int(Item2)*5
Item1Cost = read[6]
Item2Cost = read[7]
Item3Cost = read[8]
Points = int(Points) + int(PPS)
VarList = [str(Points), str(Item1), str(Item2), str(Item3), str(PPC), str(PPS), str(Item1Cost), str(Item2Cost), str(Item3Cost)]
with open(FileName, "w") as file:
for List in VarList:
file.write(List+'\n')
self.label.configure(text=Points)
self.label.configure(text=Item1)
self.label.configure(text=Item2)
self.label.configure(text=Item3)
root.after(1000, self.task)
root = Tk()
my_gui = MyFirstGUI(root)
root.mainloop()
else:
print(textwrap.fill("You didn't enter a valid name, please try again.", 70))