我有一个多行,在wxpython中只读TextCtrl 我知道如何使用
设置值myTextCtrl.SetValue('hello')
但是这会改变我之前在TextCtrl中的所有内容...... 如何添加新行并保留以前的所有内容?
答案 0 :(得分:7)
如果您使用换行符(例如'hello \ n')发送字符串,widget.AppendText
或widget.WriteText
每次都会写一个新行
AppendText
会将文本附加到控件中文本的末尾。 WriteText
是相同的,因为新文本位于当前插入点。
答案 1 :(得分:1)
之前我遇到过这样的问题,想要分享我在这个主题上发现的内容以供将来查询。
为了成功拥有一个正确解释换行(\ n)字符的多行widget.TextCtrl
对象,必须满足两个条件:
1)实例化对象时,{style}参数中包含wx.TE_MULTILINE
标记。
2)设置widget.TextCtrl
对象的文本值时,必须使用widget.SetValue
而不是widget.SetLabel
才能正确包含换行符。使用widget.SetLabel
可以完全删除换行符,也可以删除其他不可打印的字符。
答案 2 :(得分:0)
myTextCtrl.AppendText('hello')
这不会自行添加换行符,因此如果需要,您必须将其包含在字符串中。