Wxpython styledtextctrl中的TE_只读无效

Wxpython styledtextctrl中的TE_只读无效,wxpython,readonly,Wxpython,Readonly,我正在使用styledtextctrl编写一个编辑器,该编辑器对于用户来说必须是只读的,但是在定义了TE_READONLY的情况下,该编辑器仍然是可编辑的,代码段如下所示: text_ctrl=stc.StyledTextCtrl(self,-1,wx.Point(0,0),wx.Size(150,90), wx.DOUBLE|U BORDER | wx.TE|U MULTILINE | wx.TE|U READONLY | wx.TE|U RICH2 | wx.TE|U DONTWRAP) 我

我正在使用styledtextctrl编写一个编辑器,该编辑器对于用户来说必须是只读的,但是在定义了TE_READONLY的情况下,该编辑器仍然是可编辑的,代码段如下所示:

text_ctrl=stc.StyledTextCtrl(self,-1,wx.Point(0,0),wx.Size(150,90), wx.DOUBLE|U BORDER | wx.TE|U MULTILINE | wx.TE|U READONLY | wx.TE|U RICH2 | wx.TE|U DONTWRAP)

我尝试了SetReadOnly(True),python代码也无法使用它写入编辑器,我需要以不同的样式显示用户文本,但用户无法编辑文本


感谢您的建议!

方法SetReadOnly的大写字母为O

text_ctrl.SetReadOnly(True)

您可以在写入之前和之后切换可编辑模式,如下所示:

text.SetEditable(True)
text.AddText("some text")
text.SetEditable(False)

谢谢,我的代码中有大写字母O,只是在这里写错了。这是一条出路,谢谢。但是我有很多不同的文本样式,我需要实时更改文本样式,如果我一直打开/关闭开关,代码将非常繁琐,很容易出错。还有其他简单的方法吗?@Y.Yuan您可以将其包装到另一个函数中,以防止重复代码。至于更简单的选择,我不知道。