ホームページ >バックエンド開発 >Python チュートリアル >Tkinter ウィジェットが None として保存されるのはなぜですか?

Tkinter ウィジェットが None として保存されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-26 03:20:27286ブラウズ

 Why are my Tkinter Widgets Stored as 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。