ホームページ >バックエンド開発 >Python チュートリアル >Tkinter ウィジェットが None として保存されるのはなぜですか?
Tkinter ウィジェットが None として保存される理由
この例では、Tkinter ウィジェットが None として保存されるという問題が発生しています。配列で。ウィジェットを呼び出すと、それらは使用できません。
問題の理解
Tkinter の Grid、Pack、および Place メソッドはインプレース操作であり、常に None を返します。したがって、ウィジェットの作成と同じ行でこれらのメソッドを呼び出そうとすると、ウィジェット変数には None が割り当てられます。
解決策
この問題を解決するには、splitウィジェットの作成とメソッド呼び出しを別の行に記述します:
<code class="python"># Create the widget button = Button(...) # Call the grid method button.grid(...) # Pack method button.pack(...) # Place method button.place(...)</code>
コードへの適用
コード内で、ウィジェットの作成とメソッド呼び出しを次のように変更します。
<code class="python">b[c + (r * 10)] = Button(f, text=chr(97 + c + (r * 10)), command=lambda a=c + (r * 10): color(a), borderwidth=1, width=5, bg="white") b[c + (r * 10)].grid(row=r, column=c)</code>
これで、ウィジェットにアクセスできるようになり、GUI を操作するときに正しく応答するようになります。
以上がTkinter ウィジェットが None として保存されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。