我有一個多行,在wxPython 只讀TextCtrl我知道如何使用wxPython中添加行TextCtrl
myTextCtrl.SetValue('hello')
設定值,但這種情況將會改變任何我以前在我的TextCtrl ... 如何添加一個新的行,並保持我以前的任何東西?
我有一個多行,在wxPython 只讀TextCtrl我知道如何使用wxPython中添加行TextCtrl
myTextCtrl.SetValue('hello')
設定值,但這種情況將會改變任何我以前在我的TextCtrl ... 如何添加一個新的行,並保持我以前的任何東西?
無論是widget.AppendText
或widget.WriteText
每次都會寫一個新的行,如果你有一個換行符發送您的字符串(如「你好\ N」)
AppendText
,將在文文末附加控制。 WriteText
除了因爲新文本放在當前插入點而相同之外。
myTextCtrl.AppendText('hello')
這不會自行添加換行符,所以如果需要,您將不得不在字符串中包含該換行符。
我以前遇到過這樣的問題,想分享我在這個主題上發現的內容,以備將來查詢。
爲了成功地具有多widget.TextCtrl
對象解譯換行符(\ n)字符正確,兩個條件必須滿足:在實例化時
1)wx.TE_MULTILINE
標籤被包括在「樣式」參數目的。
2)設置widget.TextCtrl
對象的文本值時,必須使用widget.SetValue
而不是widget.SetLabel
以正確包含換行符。使用widget.SetLabel
可以完全刪除換行符,也可能會刪除其他不可打印的字符。
'wx.TE_MULTILINE'是一個很好的除了華金回答,但'widget.SetValue'不起作用。 'widget.WriteText'確實。 – 2017-10-11 11:33:46
謝謝,那工作 – lamba 2011-03-09 19:02:02
謝謝,也:) – CosminO 2013-06-21 16:54:02