2

これはwxPythonについてです。

2 つのパネルを重ねて
PanelBG配置したいと思います。subPanels、StaticTexts などを備えた独自の GridBagSizer を使用して、ある種の「背景」にする必要があります。
PanelFGいくつかの StaticTexts、Buttons を備えた独自の GridBagSizer を備えた「フォアグラウンド」パネルにする必要があります...ただし、ウィジェットを配置しないPanelBG場所に見えるように、透明な背景を使用します。PanelFG

ウィンドウのサイズを変更する場合でも、両方のパネルをフレームのすべての側面に伸ばす必要がありますが、相互の比率を変更することはありません。そのため、絶対配置を使用する方法があるかどうかわかりません。

ご参考までに、単一の Panel を使用したくない理由は、2 つの GridBoxSizers をマージすると、サイザーにさらに多くのセルを配置する必要があるためです。一致している場合、それらを多数のセルに分割し、グリッドの次元が数百**2 まで大きくなる必要があります。
前景に配置したいコンテンツは頻繁に更新および更新する必要があるため、毎回すべてのセルを再描画する必要があり、操作を完了するのに 10 ~ 20 秒かかります (テスト済み)。代わりに、前景のみを更新すると、数百分の 1 秒しかかかりません。

ありがとうございました!

4

2 に答える 2

1

これは少なくとも部分的には方向転換になりますが、他にどのようなレンダリング オプションがあるかを調べる価値があるかもしれません。

具体的には、ブラウザのレンダリングエンジンWebKitを使ってレイヤリングなどができるwxWebKit(http://wxwebkit.kosoftworks.com/)を考えています。私は実際に使っていないので、必要なものすべてを提供する段階にあるかどうかはわかりませんが、うまくいかない場合でも、試してみる価値のあるアプローチかもしれません. wxPython アプリで全体をラップしながら表示します。

于 2011-08-19T14:30:19.057 に答える
0

私が理解しているように、これはその日のイベントを含む、その日の長方形のカレンダーです。

簡単なのは、月を表すために、7 つの列と 4 つまたは 5 つの行を持つ wxGrid を使用することです。次に、イベントを正しい日付のグリッド セルに配置します。wxGrid ウィジェットは、すべてを適切に更新する詳細を管理します。

wxGrid を使用すると、正確な外観を少し制御できなくなる可能性があります。ただし、wxGrid は非常に柔軟で機能が豊富であり、その多くのメソッドを習得すると、デバッグに多大な労力を必要とする大量のコードを記述する必要がなくなります。

于 2011-08-19T14:10:52.423 に答える