Разделение Tkinters GUI и контроль приложения - PullRequest
0 голосов
/ 03 февраля 2020

1) Какова моя цель: Я создаю приложение, которое должно считывать данные каждые 60 с из ModBusServer, добавлять эти данные в графики, а затем, когда приложение закрывается, сохранять данные в файл Excel.

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

2) Что у меня есть: Я создал GUI без каких-либо серьезных проблем, так как класс «GUI_комора». Все там работает просто отлично.

3) В чем проблема: Но теперь я заблудился о том, как подходить к «чтению данных каждые 60 секунд» и в целом, как управлять application.

Я провел некоторое исследование потоков, но все еще не понимаю, как реализовать это в моем приложении. Я узнал, как заставить функции работать одновременно в этом уроке . А также как вызывать функцию каждые несколько секунд, используя этот вопрос .

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

Если бы вы могли перенаправить меня куда-нибудь или рассказать о лучшем подходе, я был бы очень рад.

Часть моего кода:

from tkinter import *

from GUI_komora import GUI

root = Tk()
my_gui = GUI(root) #my GUI class instance

#main loop
root.mainloop()

"""

How do I achieve something like this???

whenToEnd = False
while whenToEnd:
    if step == "Inicialzation":
        #inicializace the app

    if step == "ReadData":
        #read data every 60 seconds and append them to graphs

    if step == "EndApp"
        #save data to excel file and exit app
        whenToEnd = True 


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