2016-07-14 19 views
0

我使用這個代碼:如何在wx.TextCtrl中使用Freeze()和Thaw()函數?

self.output = wx.TextCtrl(panel, -1, "", style=wx.TE_RICH2 | 
           wx.TE_MULTILINE | 
           wx.TE_READONLY | 
           wx.TE_NOHIDESEL | 
           wx.TE_AUTO_URL) 

問題是:

的self.output對象不斷更新,每一次會就弄傷的屏幕是無法讀取的第一線。如果在更新self.output對象時向上滾動讀取線,該窗口屏幕就會下降。 附上屏幕截圖。 window

NEED SOLUTION:

我將創建一個button.When點擊按鈕窗口跌不下去,如果self.output對象也更新(也就是說,文本可在窗口上更新,但可以」 t下去)。如果取消選中按鈕窗口可以下去,當self.output對象獲取更新時間。我知道通過使用freeze()和Thaw()函數,我可以限制功能。我嘗試了不同的方式,它不工作我。

如果有任何解決方案是可觀的,請提前致謝。

回答

0

最佳猜想:您在某處調用SetValue並生成事件。改爲使用ChangeValue來更改文本而不生成事件。

+0

你能解釋一個例子嗎?我正在使用self.output.write(「」)更新測試。通過使用寫入方法更新窗口中的數據。 – nani

+0

嘗試使用ChangeValue,正如我在答案中所建議的那樣。 – ravenspoint