Python更新其他模块中的ScrolledText

Python更新其他模块中的ScrolledText,python,tkinter,Python,Tkinter,我的代码被拆分为2个模块。一个是sub(图形用户界面)模块,另一个是main(主功能模块) 子模块(GUI) 主模块(主功能) 这是我的代码(简单版) 我的问题是ScrolledText没有在“main”函数中更新。 完成每个步骤后,在“main”模块中调用函数“setScrollTxt”。但是ScrolledText没有更改。 只有在完成“main”模块并执行“root.mainloop”之后,才会更新ScrolledText 如何解决这个问题?首先,我建议对变量和函数名使用snake\u c

我的代码被拆分为2个模块。一个是sub(图形用户界面)模块,另一个是main(主功能模块)

子模块(GUI) 主模块(主功能) 这是我的代码(简单版)

我的问题是ScrolledText没有在“main”函数中更新。 完成每个步骤后,在“main”模块中调用函数“setScrollTxt”。但是ScrolledText没有更改。 只有在完成“main”模块并执行“root.mainloop”之后,才会更新ScrolledText


如何解决这个问题?

首先,我建议对变量和函数名使用
snake\u case
CapitalCase
用于类)。也可以显示主模块的代码吗?我添加了主模块。本模块从excel中读取数据,处理数据,写入c/h文件。这需要很长时间。我实际上有一个类似的问题,我的答案是,据我所知,一般来说,导入用于导入函数,而不是运行函数本身。我的意思是,例如,主进程可以由多个文件处理,但它都是由一个文件运行所有的函数,然而,一个子文件可能使用另一个子文件的导入来定义函数,然后由主文件运行,因此,在最后,一个函数从未在主文件中调用,但在主文件中调用的函数包含它。因此,基本上,我建议您将所需内容从一个文件(子文件)导入另一个文件(主文件),因为这通常是顺序,而不是必须遵循顺序,然后在一个文件中运行这些函数
import main

import tkinter as tk
from tkinter import filedialog
from tkinter import scrolledtext


class GUI():
def __init__(self, master):
   
    # create Window and widgets ...
   
    self.bt_gen = tk.Button(master, text="Generation", command=lambda: self.runGenCode())
    self.bt_gen.grid(row=3, column=1, padx=5, pady=5, sticky='nsew')  # button : generation

def setScrollTxt(self, text):
    self.txt_status.insert(tk.INSERT, text)
    self.txt_status.see(tk.END)

def clearScrollTxt(self):
    self.txt_status.delete('1.0', tk.END)

def runGenCode(self):
    main(self, self.dir_input, self.dir_output)
    self.setScrollTxt("\nCode Generated Successfully!!!\n")



root = tk.Tk()                                                      # create window

app = GUI(root)                                                     # create object

root.mainloop()
def main(self, input, output):

    # function : import data from excel

    self.setScrollTxt("1/4. Import Data : Done!\n")
 
    # function : pre-process data 

    self.setScrollTxt("2/4. Data Pre-Process : Done!\n")


    with open(filename_output + ".h", "w") as fo:                      

    # function : write file

    self.setScrollTxt("3/4. Export Data to .h file : Done!\n")


    with open(filename_output + ".c", "w") as fo:

    # function : write file
    
    self.setScrollTxt("4/4. Export Data to .c file : Done!\n")


if __name__ == "__main__":
    main()