2024-04-29 16:29:42 发布
网友
我在wxpython中有一个多行只读的TextCtrl 我知道如何使用
myTextCtrl.SetValue('hello')
但这将改变我以前在我的文本控制。。。 如何添加新的行并保留以前的行?
我以前也遇到过这样的问题,我想分享一下我在这个话题上发现的东西,以备将来查询。
若要成功拥有正确解释换行符的多行widget.TextCtrl对象,必须满足两个条件:
widget.TextCtrl
1)实例化对象时,wx.TE_MULTILINE标记包含在“style”参数中。
wx.TE_MULTILINE
2)设置widget.TextCtrl对象的文本值时,必须使用widget.SetValue而不是widget.SetLabel来正确包含换行符。使用widget.SetLabel可以完全删除换行符,也可能删除其他不可打印的字符。
widget.SetValue
widget.SetLabel
如果每次发送带有换行符的字符串(如“hello\n”),则widget.AppendText或widget.WriteText都将写一个新行
widget.AppendText
widget.WriteText
AppendText,将在控件中的文本末尾追加文本。WriteText是相同的,只是因为新文本放置在当前插入点。
AppendText
WriteText
myTextCtrl.AppendText('hello')
这不会单独添加换行符,因此如果需要,必须将其包含在字符串中。
我以前也遇到过这样的问题,我想分享一下我在这个话题上发现的东西,以备将来查询。
若要成功拥有正确解释换行符的多行
widget.TextCtrl
对象,必须满足两个条件:1)实例化对象时,
wx.TE_MULTILINE
标记包含在“style”参数中。2)设置
widget.TextCtrl
对象的文本值时,必须使用widget.SetValue
而不是widget.SetLabel
来正确包含换行符。使用widget.SetLabel
可以完全删除换行符,也可能删除其他不可打印的字符。如果每次发送带有换行符的字符串(如“hello\n”),则
widget.AppendText
或widget.WriteText
都将写一个新行AppendText
,将在控件中的文本末尾追加文本。WriteText
是相同的,只是因为新文本放置在当前插入点。这不会单独添加换行符,因此如果需要,必须将其包含在字符串中。
相关问题 更多 >
编程相关推荐