带删除线的wxPython RichTextCtrl
我想在带删除线的wxPython RichTextCtrl,python,wxpython,strikethrough,richtextctrl,Python,Wxpython,Strikethrough,Richtextctrl,我想在wxPython的RichTextCtrl中设置带删除键的文本。但找不到任何方法,如通过开始trikethrough或通过设置trikethrough 是否可以在RichTextCtrl中应用罢工?怎么做 编辑1: Font带有穿透性标志,与beginont和EndFont一起使用,不产生穿透性效果 import wx import wx.richtext as rt class MyFrame(wx.Frame): def __init__(self): wx.
wxPython
的RichTextCtrl
中设置带删除键的文本。但找不到任何方法,如通过开始trikethrough
或通过设置trikethrough
是否可以在RichTextCtrl
中应用罢工?怎么做
编辑1:
Font
带有穿透性标志,与beginont
和EndFont
一起使用,不产生穿透性效果
import wx
import wx.richtext as rt
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, 1, 'Testing strike-through')
rtc = rt.RichTextCtrl(self, -1)
rtc.WriteText("normal text")
rtc.Newline()
font = wx.FFont(12, wx.FONTFAMILY_DEFAULT, face='Tahoma', flags=wx.FONTFLAG_STRIKETHROUGH)
rtc.BeginFont(font)
rtc.WriteText("This is strike-through")
rtc.EndFont()
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = MyFrame()
frame.Show()
app.MainLoop()
输出:
您可以将font.setStriketThrough(True)
与wxpython2.9.4或更高版本一起使用,请参阅
否则:使用font.SetNativeFontInfoFromString(str)
设置带有本机信息描述的标志
请检查以下字符串以查看差异,仅在windows中测试:
不带删除线的描述:0-16;0;0;0;400;0;0;<代码>0
;1.0;0;2.32;塔荷马
删除线描述:0-16;0;0;0;400;0;0;<代码>1
;1.0;0;2.32;塔荷马
代码:
您可以使用文本效果,这也适用于wxPython 2.8.12:
style = rt.TextAttrEx()
style.SetFlags(rt.TEXT_ATTR_EFFECTS)
style.SetTextEffects(rt.TEXT_ATTR_EFFECT_STRIKETHROUGH)
style.SetTextEffectFlags(rt.TEXT_ATTR_EFFECT_STRIKETHROUGH)
rtc.BeginStyle(style)
rtc.WriteText("This is strike-through")
rtc.EndStyle()
(在Linux上测试)我没有看到这个功能,但它确实有一个
beginnot
功能,所以你可以创建一个带有删除线的字体,并以这种方式使用它。嗨@CorleyBrigman,我试过beginnot
和EndFont
但没有执行删除线效果。请参阅问题中的编辑1。我自己并没有实际使用过它,但下面似乎有另一个答案是有效的。是的@CorleyBrigman,它对我100%有效:)Thnx@Jerry_Y,你提供的其他方法对我非常有效。我正在使用wxPython2.8,因此它非常棒,我不需要升级到2.9或更高版本。。thnx再次:)
style = rt.TextAttrEx()
style.SetFlags(rt.TEXT_ATTR_EFFECTS)
style.SetTextEffects(rt.TEXT_ATTR_EFFECT_STRIKETHROUGH)
style.SetTextEffectFlags(rt.TEXT_ATTR_EFFECT_STRIKETHROUGH)
rtc.BeginStyle(style)
rtc.WriteText("This is strike-through")
rtc.EndStyle()