消えた Tkinter ウィジェットの謎
あなたは、Tkinter ボタンが配列に None として保存され、レンダリングされるという複雑な問題に直面しています。
問題の根本
問題の原因は、ボタンの配置に使用しているグリッド メソッドにあります。このメソッドは「インプレース」で動作し、必ず None を返します。つまり、ウィジェットの作成後に直接呼び出すことはできません。代わりに、これら 2 つのアクションを分離する必要があります。
修正
この問題を解決するには、コードを次のように変更します。
<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>
これらの操作を分離することで、ボタンが確実に作成され、グリッドに正しく配置されます。
「インプレース」メソッドを理解する
Tkinter では、グリッド、pack、place メソッドは「インプレース」で動作します。つまり、呼び出されるウィジェットが自動的に変更されます。これらのメソッドは変更されたウィジェットを返さないため、同じ行でウィジェットに対してそれ以上の操作を実行することはできません。
追加リソース
詳細については、 Tkinter でのウィジェットの配置について理解するには、次のリソースを参照してください:
以上が以下にいくつかのタイトルのオプションを示します。質問を表現するさまざまな方法を試し、核心的な問題に焦点を当てます。 直接的かつ要点まで: * Tkinter ボタンが突然「なし」になるのはなぜですか? * トキンター・ブの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。