pythonで、Tkinter.ttkを用いて、GUIアプリを作成しています。
状況に応じて変化させるラベルをfor文で10個作成しました。
状況に応じて変化させるので、StringVar()を使い、初期値を設定しましたが、初期値が反映されず、ラベルが表示されません。
何がダメなのか、検証するために、Stringvarではなく、普通のtextで作成したところ、しっかり作成でき、Stringvarを使ったことによる問題だとわかりました。
下記コードを記載しますので、問題点がどこにあるか教えていただきたいです。よろしくお願いいたします。
↓Stringvarを使ったコード
Python
1from tkinter import ttk 2from tkinter import StringVar 3import tkinter 4 5root = tkinter.Tk() 6root.title('discord Push') 7root.geometry('1000x600') 8root.attributes('-topmost',True) 9style = ttk.Style() 10style.theme_use('vista') 11 12ydistans = 0 13 14for i in range(10): 15 state = StringVar(value = '未接続') 16 17 label = ttk.Label(root,textvariable=state) 18 label.place(x=100,y=ydistans) 19 20 ydistans += 25 21 22root.mainloop() 23
↓Stringvarを使っていないコード
python
1from tkinter import ttk 2from tkinter import StringVar 3import tkinter 4 5root = tkinter.Tk() 6root.title('discord Push') 7root.geometry('1000x600') 8root.attributes('-topmost',True) 9style = ttk.Style() 10style.theme_use('vista') 11 12ydistans = 0 13 14for i in range(10): 15 16 label = ttk.Label(root,text='未接続') 17 label.place(x=100,y=ydistans) 18 19 ydistans += 25 20 21root.mainloop()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/04/07 11:32
2022/04/07 12:16 編集
2022/04/07 13:09