我在Tkinter的新请帮助我。我实现了一个模块(PDF2Text.Py),它的类有一个函数(convert_pdf_to_txt(路径)),其采用PDF文件的路径和PDF文件转换为文本。
我还实施了另一个模块(TopicModeling.py),它的类有一个函数(creat_LDA_model(文本)),需要一个文本,并做主题建模上的文字。
现在,我想的Tkinter的GUI即,在单击“浏览”按钮,浏览它的路径与filedialog.askopenfilename及其命令函数发送给定的路径convert_pdf_to_txt PDF2Text.Py的(路径)功能。
然后点击“模式”按钮,它的命令功能获取文本,并将其发送creat_LDA_model(文本)功能TopicModeling.py并显示结果中的文本输入构件或任何其他构件类型。
我想知道的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)
...????
结果(主题和图表)应在一些窗口小部件的图形用户界面被显示。
我的问题是关于这个命令的功能。如何通过pdfText建模功能,如何显示结果,并在哪种类型的窗口小部件?
谢谢
当你有一个小程序最简单的方法是使用全局变量共享数据:
def Return_pdfText():
global PdfText # Put the variable in the global scope
filename = filedialog.askopenfilename(filetypes = (("pdf files","*.pdf"),("all files","*.*")))
mytext = Pdf2Text.Pdf2Text(filename)
PdfText = mytext.convert_pdf_to_txt(filename) # Assign to global variable
PdfText
被分配一个值后,将可为Model()
功能,你不需要通过它:
def Model():
my_LDA_model = TopicModeling.TopicModeling(PdfText)
model = my_LDA_model.create_lda_model()
my_LDA_model.WordCloud_topics(model)