ボタンをクリックすると、ボタンの上に3つのエントリウィジェット(ユーザオプション)が配置された新しいフレームが作成される動的なGUIを作成しようとしています。 3つのエントリーウィジェット&からのユーザー入力を読み込むことが可能になるように変更することができます。ボタンを押すたびに、3つの新しい呼び出し可能な入力ウィジェットが表示されます。Tkinterはボタンからウィジェットを動的に作成します
エラーが発生していますが、リストに似た何かを使用してウィジェットを動的に作成できるので、間違っていることは知っていますか?
from Tkinter import *
app = Tk()
frameNames = []
widgetNames = []
def createwidgets():
global widgetNames
global frameNames
frameNames += (str("g"+str(len(frameNames)))) #why does the letter & number get added as seperate elements?
widgetNames += [(str("w"+str(len(widgetNames)-1))),
(str("w"+str(len(widgetNames)))),
(str("w"+str(len(widgetNames)+1)))]
frameNames[len(frameNames) - 1] = Frame(app)
frameNames[len(frameNames) - 1].pack()
widgetNames[len(widgetNames) - 3] = Entry(frameNames[len(frameNames) - 1])
widgetNames[len(widgetNames) - 3].pack()
widgetNames[len(widgetNames) - 2] = Entry(frameNames[len(frameNames -)- 1])
widgetNames[len(widgetNames) - 2].pack()
widgetNames[len(widgetNames) - 1] = Entry(frameNames[len(frameNames) - 1])
widgetNames[len(widgetNames) - 1].pack()
createWidgetButton = Button(app, text="createWidgets", command=createwidgets())
createWidgetButton.grid(sticky=S)
app.mainloop()
あなたが取得しているエラーは何か? –
@ブライアン最後にコードを見たので問題は1つ修正しましたが、無限ループに入っていてアプリケーションが表示されていないようですウィジェット – WCTech