問題タブ [boxsizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - wxPython -- BoxSizers が物を正しく配置しない
何が間違っているのかわかりません。Tkinter から wxPython にジャンプしたばかりで、BoxSizers を理解しようとしています。この質問を調べたいのですが、何を調べればよいかさえわかりません。このパネルはフレームのスペースを埋めており、その下にプログレスバーがあるテキスト行を表示することになっており、それはすべてパネルの下部 1/5 程度を占め、水平方向の中央に配置されることになっています (最終的にはその背後に背景画像を追加します)。しかし、何が起こるかというと、ウィンドウの左端に揃えられた、テキストだけが上から約 40% 下に表示されるだけです。コードは次のとおりです。
情報が必要な場合、configSet.width と height は親ウィンドウの幅と高さ (現在は 340 x 270) です。この場合、selectWindow は「configWindow」です。
python - wxpython boxsizer addmany スペーサー
Add Many を使用しているときに、boxsizer の 2 つの項目の間にスペーサーを追加するにはどうすればよいですか? Spacer、AddSpacer などのキーワードを試しましたが、残念ながらうまくいきませんでした。
python - wxformbuilder で垂直サイザーが子を下方向に拡張するのを防ぐ方法
Python 用の WX フォーム ビルダーでダッシュ ボードを設計しようとしています。垂直サイザーの子である2つの水平サイザーが互いに大きく離れないようにする方法を理解するのに苦労しています。以下は、私が言及していることを説明するスクリーンショットです。
青い矢印は、テキスト ボックス コントロールとラベルを最初のラベルに近づけたいことを表しています。
私の最初の本能は、wx.EXPAND などのフラグと関係があるということですが、サイザーを互いに近づける方法でそれらを変更することはできませんでした。サイザーを配置するたびに、ウィンドウ全体にすべてを自動的に収めようとするようなものです...これにより、フォーム上の正確な位置にアイテムを配置することが難しくなります。サイザーがフレーム ウィンドウ サイズ全体に拡大しないようにする方法について何か提案はありますか?
私の次の行動方針は、グリッドサイザーまたはフレックスグリッドサイザーを試して使用することでしたが、ウィジェットまたはオブジェクトを追加するグリッド内の正確な場所を選択できる直接コードでのみ使用しました。フォームビルダーでは、主にグリッドサイザーの特定のインデックスにオブジェクトを挿入できないため、使いにくいことがわかりました。それらを順番に挿入します。
1,1 -> 1,2 -> 1,3 -> 1,i -> 2,1 -> 2,2 -> 2,3 -> 2,i -> j,i
つまり、グリッド内の何かを変更する必要がある場合は...非常に困難です。オブジェクトを順番にではなく、グリッドに簡単に挿入できるようにするために欠けているものはありますか?
以下は、水平方向と垂直方向の両方のギャップ = 0 を指定した 5x5 グリッドサイザー (完全に埋められていない) の例の 1 つです。
ボタンを 1,4 のテキスト ボックスに置き換えることができることに加えて、垂直方向と水平方向のギャップに 0 を指定したにもかかわらず、水平方向のギャップが明らかにゼロではないことに気付きました。これにより、フォームの設計も非常に難しくなります。ボタン間に横方向の隙間があるのはなぜですか?
python - wx Python BoxSizer でスペーシングを行う方法
wx.BoxSizer を使用して小さくて簡単なプログラムを作成しました。ソースコードは次のとおりです。
問題は、各ヘッダーの左側に水平スペースを追加すると、ヘッダーと sunken_border header1 および header2 の間に垂直スペースも追加されることです。副作用として垂直スペースを追加せずに、ヘッダーの前に水平スペースを追加する方法はありますか? ありがとう。
- -編集 - -
あなたのコメントに答えるために:ここにプログラムの写真があります:
シンプルなBoxSizerプログラム...
緑色の「スペース」は必要なスペースですが、赤色の「スペース」は不要な副作用です。基本的に緑のスペースだけが必要ですが、赤のスペースは必要ありません。ヘッダーを2つのパネルと同じ高さにしたいです(真上にあるように...)。現在、それを機能させるために絶対配置を行う必要があります.BoxSizerまたは他のレイアウトマネージャーで機能させることができるかどうかを知りたかっただけです.ありがとう.
python - BoxSizer でパネルを構築した後にパネルのサイズを変更する
パネルにコンテンツを含むパネルを作成する必要があり、パネルの作成後にサイズを変更する必要があります。パネルのサイズは子コンテンツによって異なります。子コンテンツを作成するときは、親パネルを指定する必要があります。鶏と卵の問題のように。したがって、パネルとそのコンテンツを作成し、コンテンツに基づいてパネルのサイズを変更する必要があります...
そこで、パネルが 50 x 50 で始まるモックアップ コード例を作成し、そのサイズで作成した後、代わりに 400 x 400 にしたいと思います。しかし、これをコンピューターで実行すると、 50 x 50 として参照してください。 SetSize((400, 400)) は効果がありません!
これを修正して、サイザーを適用した後に SetSize を有効にするにはどうすればよいですか? どんな助けでも大歓迎です...
python - パネルのコンテンツを動的に縮小または拡大する方法は?
プログラム パネルを低解像度に合わせる際に問題があります。たとえば、解像度が 800 x 600 で、パネルがそれよりも大きい場合、特に画面の下部にあるボタンなど、すべてが途切れてしまいます。
そこで、例としてモックプログラムを作成しました。
では、私の質問は、「Hello, World!」をどのように作成するかということです。メインフレームが大きくなるとテキストが大きくなり、メインフレームが小さくなるとどうすれば同じようにできますか?
ありがとう。