2013-11-26 41 views
0

我正在寻找一个类似于TextCtrl的wx下的小部件,它具有在Linux和Mac下显示丰富内容的功能(例如,不同行中的不同文本颜色)。我知道使用wx.TE_RICH风格(或wx.RichTextCtrl)的wx.TextCtrl只能在Windows下工作,而不能在Mac和Linux下工作。在Mac或Linux下更改wx.TextCtrl中的文本颜色

我也检查了stc.StyledTextCtrl,它似乎具有所需的功能,给定了着色模式,所以它主要用于语法高亮显示。所以,我怀疑它的作用。

所以,我在想,如果有一个WX文本框控件TB与API,如:

TB.AppendText("Hello, this is Black", wx.BLACK) 
TB.AppendText(" and this is Blue", wx.BLUE) 

任何帮助表示赞赏。

回答

0

恩,你是什么想法?对于我来说,wx.TextCtrl的富文本标志在Linux上工作正常。我正在使用wxPython 2.8.12.0。不过你可能不得不使用wx.TE_RICH2。我正在测试使用wxPython演示,看看它是否工作,它确实。

wx.richtext中的RichText控件也像FancyText和StyleTextCtrls一样工作。我正在测试CentOS 6.

+0

感谢您的回复。对wx.TextCtrl(http://docs.wxwidgets.org/2.8/wx_wxtextctrl.html)的描述提到wx.TE_RICH和wx.TE_RICH2样式在Win32以外的平台下被忽略。我也试过在Mac下运行的代码中使用wx.TE_RICH和wx.TE_RICH2,但文本颜色不同。 – shahins

+0

stc.StyledTextCtrl可以在Mac下工作,但它似乎需要一个用于着色的模式,并且它没有API来为正在追加的文本着色。 – shahins

+0

你看过wxPython演示,看看这些小部件是否可以在Mac上使用?我没有Mac来测试。 –