問題タブ [sizer]
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 Gridsizerがパネルに適合しない
私は wxpython GUI に取り組んでいます。私は 3 つのパネルを持っています (左側の 2 つは水平に分割され、右側の 1 つは他の 2 つから垂直に分割されます。左半分に 2 つの正方形があり、右半分に背の高い長方形があると考えてください)。パネル 3 (画像の P3) に Gridsizer を取り付けようとしています。グリッド パネルでパネル 3 全体を「埋める」ことができないようです。代わりに、グリッド パネルは上部と下部にスナップします。理想的には、10 個の小さなパネル (2 行、5 列) のサイズを変更して、パネル 3 をうまく塗りつぶします (すべて同じサイズで、それぞれを表示するのに十分な大きさです)。私は何を間違っていますか?ありがとう!
**** 編集 **** コードを次のように変更しました。
私のNew Panel 3は下の写真のように見えます。これはある程度の改善です。ただし、個々のパネル (全部で 10 個) を同じ量だけ拡大して、ノートブック ページ全体が同じサイズの小さなパネルで覆われるようにしたいと考えています (カレンダーがどのように見え、毎日がパネルであるかを想像してください)。
****編集終了****
以下は私の元のコードです:
注: self.OtherTeams
は の下の wx.Notebook ページself.Panel3
です。self.Panel_Others
私が表示しているwx.Panelsを含む辞書です(これは動的に変化するため、指定するのではなく、それらの辞書を持っています)。
wxpython - initで非表示になっている場合、ネストされたサイザーがwxPythonで展開されないのはなぜですか?
私は3パネルのGUIを構築しようとしていますが、他のパネルの内側にパネル/ウィンドウをネストし、GUIの起動時にそれらを非表示にしようとするまで、すべてが順調に進んでいました。
この画像を参照してください...黄色/緑/青のボックスは、初期化中にパネルを埋めるために自動的に拡張されましたが、小さな紫色のボックスは構築されますが、wx.Panelの初期化中に、2秒のタイマーが切れるまで非表示になります。そのオブジェクトのShow()メソッドが呼び出されます。その時、それは収容パネルをいっぱいにしません。初期化中にパネルを非表示にすると、パネルサイザーがデフォルトサイズの20x20を選択するようです。
コードは次のとおりです。
GUIの起動時にこのパネルを非表示にする理由は、そのActionPanelスペース(緑色のボックス)にさまざまなパネルがあり、ユーザーが黄色のボックスのツリーノードをクリックすると、に表示されるパネルが表示されるためです。緑のボックスが非表示になり、別のパネルが表示されます。起動時にすべてのパネルを非表示にしないと、パネルは互いに「スタック」され、GUIの起動後のある時点で、通過してすべてを非表示にするタイマーを設定する必要があります。それはおかしなようです。他にどのように私はそれを行うことができますか?
python - wxpython でツールバーをブロックせずにテキスト コントロールを追加できない
ここでエラーを再現しました。
ここで、この行を追加してテキスト コントロールを追加します。
ツールバーの上に表示されます。私はドキュメントを読み、いくつかのチュートリアルに従いましたが、それでも概念を完全に理解することはできません. どうすれば私が望むものを達成できますか? テキスト コントロールをツールバーの下に表示し、残りのスペースに合わせたいと思います。
wxpython - ネストされたサイザーで「親」サイザーを見つける最良の方法は何ですか?
wxpython では、いくつかの入れ子になったサイザーとボタンを含む GridBagSizer gs を単一のセルに持ってs1
いs2
ますb
。
イベントで、EVT_BUTTON
ボタン オブジェクトを取得します。ボタン オブジェクトをグリッド内で別のグリッド セルに移動するには、トップ レベルのサイザー s1 を移動する必要があります。これは、GridBagSizer gs の直接の「子」(正しい用語であれば) です。トップレベルのサイザーを見つける最良の方法は何ですか?
object.GetContainingSizer()
ボタン オブジェクトのサイザー s2 を返しますが、s1 に到達する方法がわかりません。s1 への参照を s2 (または b) オブジェクトに保存する必要がありますか? これはかなり非エレガントに見えますか?
回答 (これまでのところ) : 誰の功績かわからないコードを見つけました - dabo と関係があるようです。それはdGridSizer.pyにありますが、私が探しているのと同様のことをしました:
これは、これまでグリッドにあったすべてのケースで機能するようです。この時点ではよくわかりません。後でコードを掘り下げる必要があります。あとは、これを機能させるだけです。
python - boxsizer 内の wxpython ノートブック
このコードの何が問題になっていますか? ボックスサイザーによって制御されているパネルにノートブックを配置しようとしています。私は wxpython が初めてで、何が間違っているのかわかりません。私がそれを実行すると、隅がめちゃくちゃになります:(
wxpython - wxPython を使用してボックス内にサイザーをネストする
ラベルとテキスト フィールドの水平行を作成し、行をラベル付きのボックス内に配置して、適切にグループ化したいと考えています。ただし、何らかの理由で、ボックスはシリーズの最後の行の周りにのみ拡張されます (下の画像を参照)。すべての行をグループ化したいと思います。
このようなグループ化され、ラベル付けされたインターフェイスを作成する簡単な方法はありますか?
上記を生成するコード、
python - 複数のパネルを使用した wxpython サイズ コントロール
3 つのパネルでフルスクリーン アプリを表示しようとしています。画面は最初に 2 つの垂直パネルに分割し、右側のパネルを 2 つの水平パネルに分割する必要があります。何かのようなもの:
問題は、サイザーに問題があるため、それがわからないことです。これは私の試みです: