2017-10-11 13 views
0

私はかなり長い間wxPythonを使っています。私はほとんどのオブジェクトでかなり良いハンドルを持っており、ほとんどの場合問題なくパネルレイアウトを作成することができました。wx.ComboBoxは他のパネルの後ろに隠れます

私がここでやろうとしているのは、2つのリスト(コンボボックス)を表示することです。ユーザーが選択して右側のリストに追加する可能性のあるオプション(左側)の完全なリストを表します。機能がうまく動作し、それ自体が視覚的wxNotebookオブジェクトの同じタブ内に含まれる他のパネルによって不明瞭になるオブジェクトは、(添付された画像上の赤い長方形を参照。)

Combo boxes become obscured by panel containing button

トップパネルの複合体であります3つのパネル。最初にはコンボボックスといくつかのスペーサーがあります。 2番目(中央)には、ユーザーがアイテムを追加/削除できるボタンが含まれています。 3番目は、最初のように、コンボボックスといくつかのスペーサーです。中央のパネルは細かいスケールですが、コンボボックスの高さを調整することはできません。

すべてのオプションが表示されるように、コンボボックスをwx.CB_SIMPLEレイアウトにします。理想的には、オプションの数がパネルの高さを超える場合は、垂直スクロールバーが表示されます。

他のパネルの後ろのコンボボックスを失うことなくこれを達成する最も簡単な方法は何ですか?

答えて

0

ノートブックページの内側に3つのパネルを入れておく必要はありません。代わりに、ネストされたサイザーで1つのパネルを作成します。すべてのウィジェットを保持する1つの水平BoxSizerを作成できます。その中で、左のコンボボックスをサイザーに追加することができます。次に、あなたのボタンを(追加、削除、クリア)することができる垂直サイザーを作成します。

横型サイザーに縦型サイザーを追加します。右のコンボボックスを作成し、水平サイザに追加します。今度は同じ設定またはそれに近い設定をしており、パネルが互いに交差することはありません。

関連する問題