Графический интерфейс Tkinter реализован с помощью отдельного файла Python с функциями
У меня возникли проблемы с наличием графического интерфейса, который будет реализован через второй файл, который просто содержит файл для чтения, сделанные графики и некоторые новые функции, которые будут оценены на основе этого.
Я пытаюсь создать графическое приложение с помощью Tkinter. Я поступаю следующим образом. У меня есть фоновый сценарий (скажем Background.py) который имеет две функции. Функция X загружает файл данных, выполняет некоторые вычисления и выводит график. Я хочу вызвать это с помощью графического интерфейса в другом файле (GUI.py) который открывает панель с кнопкой и когда я нажимаю на кнопку функция X в файле Background.py следует оценить и показать сюжет. Как только я проверю график, я могу нажать другую кнопку, чтобы закрыть график и завершить функцию X. Теперь я могу нажать другую кнопку, чтобы вызвать функцию Y в файле Background.py Эти кнопки должны позволить мне ввести три значения, которые должны быть входными данными для функции Y в файле Background.py. Как только я нажму эту кнопку, она должна вызвать функцию Y и сделать то, что она просит ее сделать. Теперь, в конце концов, после этого я могу нажать кнопку, чтобы закрыть графический интерфейс.
Как я могу это сделать?. Общая грубая идея будет полезна.
Я привел пример, насколько мог:( по крайней мере, скелет кода)
У меня есть фоновый файл скажем (Background.py) и графический файл ( допустим GUI.py)
**Background.py**
import numpy import matplotlib.pyplot as plt import pandas def progX(): df = pd.read (myfile) ##df.stats # doing something and generating a plot from the file plt.boxplot(df['col']) plt.show() def progY(y1, y2,y3): ## get the y1, y2, y3 from the GUI interface which the user has entered #run a code... and generate an output file
**GUI.py**
import Background as bg from tkinter import * from tkinter.ttk import * class GUI (): def create widgets(self): #.... def create_panel2(self): #create buttons panel1 = ... btn1 = Button(panel1, text="yyyyy", command=bg.progA) btn1.pack() def create_panel2(self): #create buttons panel2 = ... btn2 = Button(panel1, text="yyyyy", command=bg.progB) btn2.pack() All_Entries = [] window = Tk() D=GUI(window) window.mainloop() runprogram1 = bg.progX() runprogram2 = bg.probY(x, y, z)
Теперь мой вопрос заключается в том, имеет ли смысл все вышесказанное? Как я могу вызвать фоновые функции из графического интерфейса? Заявления runprogram1 &амп; runprogram2, безусловно, не правильно, Как я могу реализовать это. Кроме того, как я гарантирую, что вызову proram Y в фоновом режиме, как только закрою вывод из программы X?
Я думаю, что вопросы имеют смысл. Я новичок в GUI и с трудом справляюсь с этим, что мне и нужно. любая помощь будет очень признательна.
Что я уже пробовал:
Я попытался поместить скелет в код.. Но пока ничего не работает.