wxpython将行添加到TextCtrl

时间:2011-03-09 18:43:30

标签: python user-interface wxpython

我有一个多行,在wxpython中只读TextCtrl 我知道如何使用

设置值
myTextCtrl.SetValue('hello')

但是这会改变我之前在TextCtrl中的所有内容...... 如何添加新行并保留以前的所有内容?

3 个答案:

答案 0 :(得分:7)

如果您使用换行符(例如'hello \ n')发送字符串,widget.AppendTextwidget.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')

这不会自行添加换行符,因此如果需要,您必须将其包含在字符串中。