0

何らかの理由で、トップレベル ウィンドウが関数から作成されたときに var.set(str) が var を更新しません。ただし、以下のコードは、(関数なしで) メインループに配置すると機能します。関数に mainloop を追加すると、意図したとおりに機能します。それは意図した動作ですか?

from tkinter import *
from tkinter import ttk

root = Tk()

def function():
    mainFrame = ttk.Frame(root)
    mainFrame.grid(column =1, row =1)
    configureWindow = Toplevel(mainFrame)
    pathInfoContent = StringVar()
    graphPathFrame = ttk.Frame(root)
    graphPathFrame.grid(column = 1, row =1)
    graphPathLabel = ttk.Label(graphPathFrame, text = 'GraphViz Installation Path:')
    graphPathLabel.grid(column = 1, row =1)
    graphPathLabel3 = ttk.Label(graphPathFrame, textvariable = pathInfoContent)
    graphPathLabel3.grid(column = 2, row =1)
    pathInfoContent.set('Something')  

function()

mainloop()
4

0 に答える 0