Добавить текст в текстовое поле из другого метода - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь обновить текст в окне консоли, которое я сделал из tkinter-text, основываясь на событиях. Но я не могу понять это.

Я использую python 3.6.2, я пытался найти темы с похожей проблемой, но я не могу найти что-либо, что можно применить. Моя главная цель - создать приложение, которое ожидает файлы, если включен «автопилот», когда файлы существуют, он запускает eval (), и эта часть работает. (Но я пропустил это, так как это добавило бы сюда что-то ценное) Но я также хотел бы напечатать в «консоли» (tk.Text), что происходит.

def Main():
    root = tk.Tk()
    root.title("dA/dW - 2019 (c) Siemens")
    root.geometry('445x315')
    nb = ttk.Notebook(root)

    page1 = ttk.Frame(nb)
    layout1(page1)

    nb.add(page1, text='Console')

    nb.pack(fill=BOTH, expand=1)
    waitForFile()

def layout1(page):
    console = tk.Text(page)
    console.pack(side="left", fill="both", expand=True)

def waitForFile():
    onlyfiles = [f for f in listdir(mypath) if f.lower().endswith((cfg.get('comFileExt')))]
    if len(onlyfiles) == 0:
        time.sleep(int())
        if int(1) > 0:
            consoleShoutLine='Auto pilot engaged - Waiting for files...'
            consoleShout(consoleShoutLine)
            waitForFile()
        else:
            consoleShoutLine='Auto pilot disabled'
            consoleShout(consoleShoutLine)
    else:
        for g in range(0, len(onlyfiles), 1):
            time.sleep(int(3))
            transfer=mypath+onlyfiles[g]
            evaluate(transfer, cfg, mypath)

def consoleShout(consoleShoutLine):
    console.insert(END, consoleShoutLine)
    console.see(END)

Я хочу получить consolShout () для печати переменной consoleShoutLine в tk.Text внутри layout1 ()

...