Как я могу сохранить приращения панели прогресса ttk в файл и получить приращения при повторном открытии приложения?

#python #tkinter #progress-bar

#python #tkinter #индикатор выполнения

Вопрос:

Я работаю над приложением диспетчера задач и использую индикаторы выполнения tkinter для отслеживания прошлых записей (таких как количество звонков, проектов, консультаций с клиентами, которые были завершены на данный момент). После каждой новой выполненной задачи пользователь нажимает кнопку, чтобы увеличить панель. Идея заключается в том, что количество задач для каждой категории задач (индикатор выполнения) сохраняется в файле и считывается при повторном открытии приложения.

это выглядит как это изображение графического интерфейса tkinter

Я пробовал разные вещи, но не могу найти рабочее решение. Вот код, который я сделал до сих пор.

Я не могу восстановить значение индикатора выполнения из предыдущих входных данных, когда приложение было открыто в последний раз.

 from tkinter import *
import tkinter as tk
from tkinter.scrolledtext import ScrolledText
from tkinter import ttk
from PIL import ImageTk, Image
import smtplib
import os

overview = Tk()
overview.geometry("600x450")


progress1 = IntVar()
progress2 = IntVar()
progress3 = IntVar()
save1 = "progress"

list_of_files = os.listdir()


def step1():
    global ntotal
    increments = progress1.set(progress1.get()   5)
    ntotal = int(ntotal)   int(increments)
    file = open(save1, "w")
    file.write(int(ntotal))

    if save1 in list_of_files:
        file3 = open(save1, "r")
        verified = file3.readlines()
        total = verified[0]


def step2():
    progress2.set(progress2.get()   5)


def step3():
    progress3.set(progress3.get()   5)


Label(overview, text="Calls", font=("Calibri", 20)).grid(row=1, column=1)
my_progress = ttk.Progressbar(overview, orient=HORIZONTAL, length=500,
                              mode='determinate', variable=progress1).grid(row=2, column=1, ipady=10)
my_button = Button(overview, text="New task complete",
                   command=step1).grid(row=3, column=1)

Label(overview, text="Client Consultations",
      font=("Calibri", 20)).grid(row=4, column=1)
my_progress = ttk.Progressbar(overview, orient=HORIZONTAL, length=500,
                              mode='determinate', variable=progress2).grid(row=5, column=1, ipady=10)
my_button = Button(overview, text="New task complete",
                   command=step2).grid(row=6, column=1)

Label(overview, text="Group projects", font=(
    "Calibri", 20)).grid(row=7, column=1)
my_progress = ttk.Progressbar(overview, orient=HORIZONTAL, length=500,
                              mode='determinate', variable=progress3).grid(row=8, column=1, ipady=10)
my_button = Button(overview, text="New task complete",
                   command=step3).grid(row=9, column=1)


overview.mainloop()
 

Комментарии:

1. Сохраните его прогресс в файл, а затем загрузите этот файл, когда это необходимо.

2. Непонятно, в чем проблема. У вас проблемы с записью в файл? Чтение из файла? Получение текущего значения индикатора выполнения? Восстановление значения индикатора выполнения? Что-то еще?

3. Я не могу восстановить значение индикатора выполнения из предыдущих входных данных, когда приложение было открыто в последний раз.