Я новичок в tkinter, пожалуйста, помогите мне.Я реализовал модуль (PDF2Text.Py), который в своем классе имеет функцию (convert_pdf_to_txt (path)), которая берет путь к файлу PDF и преобразует файл PDF в текст.
Я также реализовал другой модуль (TopicModeling.py), что в его классе есть функция (creat_LDA_model (text)), которая принимает текст и выполняет моделирование темы на тексте.
Теперь я хочу графический интерфейс пользователя tkinter, который после нажатия кнопки «Обзор»кнопка просматривает путь с filedialog.askopenfilename и ее командная функция отправляет указанный путь в функцию convert_pdf_to_txt (path) из PDF2Text.Py.
Затем, нажав кнопку «Модель», ее командная функция получает текст иотправьте ей функцию creat_LDA_model (text) в TopicModeling.py и покажите результат в виджете Entry или любых других типах виджетов.
Я хотел бы знать структуру модуля GUI;как вызывать или получать и устанавливать параметры для других модулей / функций из модуля GUI в командных функциях кнопок.
Позвольте мне объяснить больше:
предположим, что это мой код:
import tkinter
from tkinter import filedialog
import TopicModeling
import Pdf2Text
window = tkinter.Tk()
window.title("Welcome to test tkinter app")
window.geometry('750x600')# Setting Window Size
lbl = tkinter.Label(window, text="Select a pdf file:", font=("Arial Bold", 15))#Set Label Font Size
lbl.grid(column=0, row=0)#set its position on the form
def Return_pdfText():
filename = filedialog.askopenfilename(filetypes = (("pdf files","*.pdf"),("all files","*.*")))
mytext = Pdf2Text.Pdf2Text(filename)
PdfText=mytext.convert_pdf_to_txt(filename)
return PdfText
Button=tkinter.Button(window,text="Browse",command=Return_pdfText)
Button.grid(column=0, row=1)
window.mainloop()
Я хочу поставить еще одну кнопку, а именно «Модель».его командная функция должна получить pdfText в качестве входных данных и смоделировать его следующим образом:
Button=tkinter.Button(window,text="Model",command=Model)
Button.grid(column=1, row=1)
def Model(pdfText): #??
my_LDA_model= TopicModeling.TopicModeling(PdfText)
model=my_LDA_model.create_lda_model()
my_LDA_model.WordCloud_topics(model)
...????
результат (темы и графики) должен отображаться в графическом интерфейсе в некоторых виджетах.
Myпроблема об этой командной функции.как передать pdfText в функцию модели, как показать результаты и в каком типе виджетов?
спасибо