WxPython 实现TextCtrl部分文本颜色控制

功能需求:在TextCtrl中输出一段话,其中一部分为红色,一部分为绿色,一部分为黄色。

功能实现:
如果你是用的wxFormBuilder的话,选中你需要操控的TextCtrl,其中的style改为 wx.TE_MULTILINE |wx.TE_RICH2 。
在这里插入图片描述
然后生成一下代码即可。

如果不想使用WxFormBuilder的话,则可以修改代码为

self.output_textCtrl1 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE |wx.TE_RICH2 )

然后使用AppendText函数增加文本。(需要注意的是这里不能使用SetValues会导致文本颜色不变,且该函数需放在SetStyle函数之前,否则会将后续的所有文本都变成统一颜色。猜测是需要SetStyle函数只能对TextCtrl中的现有文本进行操作。)

 output_str="WxPython 实现TextCtrl部分文本颜色控制"
 self.output_textCtrl1.AppendText(str(output_str))

之后使用SetStyle函数控制文本的颜色显示。

self.ouput_textCtrl1.SetStyle(0, 6, wx.TextAttr("black",'Red'))#TextAttr函数前为字体颜色,后为字体背景颜色。

self.ouput_textCtrl1.SetStyle(6, 12, wx.TextAttr("v","Green"))

self.ouput_textCtrl1.SetStyle(12, len(output_str), wx.TextAttr("black","Yellow"))

实现效果如下:
在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值