2016-11-20 11 views
-1

デフォルトでは、Tkinterウィジェットは子供のサイズに基づいてサイズ変更されます(つまり、Tkinterは私のwidthheightの設定を尊重しません)。 parent.pack_propagate(False)を使用するとparentの子どもがそのサイズを変更するのを防ぐことができますが、子どもがある次元を変更して別の次元を変更できないようにしたい場合はどうすればよいですか?例えば、ウィジェットの子どもがその幅を変更することを防ぐにはどうすればよいのですか?Tkinter - 子供が親の幅を変更しないようにする

私が思いついたハック・アイホンの解決策は、要求された幅で1pxの高さのフレームを作成し、それを親に追加して、他の子供が親の幅を縮小するのを防ぎましたが、溶液。これには組み込みのソリューションはありますか?

+0

あなたは、ウィジェットがすべて同じ幅であることを確認するだけではなく、フレンズに入るウィジェットを制御しますか? –

+0

私のウィジェットとウィンドウの端の間にいくつかのパディングがあります。たとえば、ボタンの幅をウィンドウと同じ幅にすると、パディングがないため、見栄えが悪くなります。 – Kootling

+0

ですから、幅1のボタンを作成し、グリッドまたはパックオプションを使用して自動的に展開し、いくつかのパディングを追加します。 –

答えて

0

いいえ、ジオメトリ伝播を一方向に制限する方法はありません。

私の経験では、伝播をオフにするよりもレイアウトの問題を解決する方がずっと良い方法があります。単一の最善のソリューションはありません。すべてのレイアウトはニーズに応じて異なります。

+0

私の提案する解決策(問題の2番目の段落)は受け入れ可能な解決策ですか、これを達成する良い方法がありますか? – Kootling

+0

@クーリング:それは言うことは不可能です。あなたの本当の問題が何であるかによって異なります。 –

関連する問題