0

左に TreeCtrl 、右に RichTextCtrl を持つプログラムを書いています。以下は、スプリッター、パネル、およびその他の要素のコードです。

問題は、Windows では、treectrl と textctrl の下部が非表示になっていることです。ステータスバーはスプリッターの下部を覆います。しかし、ステータスバーを削除した後でも、treectrl の下部が表示されません (最大 6 行を非表示にします)。

self.panel=wx.Panel(self,wx.ID_ANY)
self.splitter=wx.SplitterWindow(
    self.panel,-1,size=wx.DisplaySize(),style=wx.SP_LIVE_UPDATE)
self.splitter.SetMinimumPaneSize(5)
self.datatree=wx.TreeCtrl(self.splitter,1,style=wx.TR_HIDE_ROOT|wx.TR_ROW_LINES)
self.display=wx.richtext.RichTextCtrl(
    self.splitter,1,style=wx.VSCROLL|wx.HSCROLL|wx.WANTS_CHARS)
self.display.SetFont(self.displayfont)
self.handler=wx.richtext.RichTextXMLHandler()
self.splitter.SplitVertically(self.datatree,self.display)
self.logger=self.CreateStatusBar()
4

1 に答える 1

0

ここでの問題は、SplitterWindow に表示サイズ全体を占有するように明示的に指示したことだと思います。コンストラクターへのサイズ引数を省略するか、少し調整して、効果があるかどうかを確認してください。

サイズ パラメーターを省略しても問題が解決しない場合は、ツリーとリッチ テキスト コントロールを含むサイザーを使用してパネルを作成し、それらのパネルをスプリッター ウィンドウ内で垂直に分割することをお勧めします。

于 2013-01-04T05:15:11.597 に答える