前提・実現したいこと
自動生成されたtkinter.ttk.Label型変数を配列に代入し、自動生成された変数を後ほど扱いやすくするため配列に代入したのですが、するとどういうわけか配列に代入された変数がlist型になってしまっているんです
発生している問題・エラーメッセージ
Traceback (most recent call last): File "ここにアドレス", line 20, in <module> gui[i].pack() AttributeError: 'list' object has no attribute 'pack'
該当のソースコード
python3
1from tkinter import Tk, ttk, PhotoImage 2 3root = Tk() 4img001 = PhotoImage(file='#ここに画像のアドレス') 5#表示テスト 6label = ttk.Label(root, image=img001) 7label.pack() 8 9 10gui=[] 11#自動生成して配列に代入 12for i in range(10): 13 locals()["t_%d" % i ] =ttk.Label(root, image=img001) 14 gui.append(["t_%d" % i ] ) 15 16#自動生成された変数の内1つを直接表示 17t_5.pack() 18 19#型確認 20print(type(t_5))#ここではまだtkinter.ttk.Label型 21print(gui) 22print(gui[5]) 23print(type(gui[5]))#ここではlist型 24 25#配列に代入された変数を表示 26for i in range(10): 27 gui[i].pack()#ここでエラー
試したこと
gui配列の前にlocals()をつけたりしてみたけど、invalid syntaxエラーが。。どうすれば良いんだろうなぁ汗
誰か解決方法お願いします・・・
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/30 22:52
2018/08/30 23:03
2018/08/31 03:47
2018/08/31 04:27