Wxpython 替换多行WXTEXTCRL中任意行的最佳方法

Wxpython 替换多行WXTEXTCRL中任意行的最佳方法,wxpython,wxtextctrl,Wxpython,Wxtextctrl,GetLineText对于获取特定行非常有用,但是没有相应的SetLineText。如果有,那就是我要找的。既然看起来没有,那么最好的处理方法是什么 注意:我不想每次都替换所有文本,因为我担心性能。我的用例要求我为另一个控件中的每个字符更改替换一行(或一系列行)。因此,让我调用SetValue的解决方案不是我想要的。我认为您想要的是Replace()方法: 替换(自、自、到、值) 我之前在那个URL上,注意到了replace,发现没有关于replace的详细信息。转到别处()并查看细节,它谈到角

GetLineText对于获取特定行非常有用,但是没有相应的SetLineText。如果有,那就是我要找的。既然看起来没有,那么最好的处理方法是什么


注意:我不想每次都替换所有文本,因为我担心性能。我的用例要求我为另一个控件中的每个字符更改替换一行(或一系列行)。因此,让我调用SetValue的解决方案不是我想要的。

我认为您想要的是Replace()方法:

替换(自、自、到、值)


我之前在那个URL上,注意到了replace,发现没有关于replace的详细信息。转到别处()并查看细节,它谈到角色位置。我想我可以这样做,但如何在不扫描所有文本并查找和计数'\n'的情况下到达特定行?我原以为XYToPosition会给我带来乐趣,但为它提供了(5,0)的参数,它返回了一个5,当时我希望有更高的数字表示文本控件中的字符位置5行。进一步思考?GetSelection()应返回这两个值我感谢您的后续行动。文档上说,“获取当前的选择范围。”问题是这都是编程的,所以没有选择。是的,我知道。但我假设您在textctrl中选择了一个字符串,这意味着您知道要替换的字符串的位置。你可能也想在wxPython邮件列表上询问一下。提供一个小的可运行的例子可能也会有所帮助。我一直在寻找“最好”的方法,我想这可能就是它。我只需要跟踪\n的位置,然后智能地使用这些位置。谢谢你,迈克!