【发布时间】:2014-03-31 05:38:57
【问题描述】:
我想在RichTextCtrl 的wxPython 中设置带有删除线的文本。但找不到像BeginStrikethrough 或SetStrikethrough 这样的方法。
是否可以在RichTextCtrl 中应用删除线?怎么样?
编辑 1:
Font 带有删除线标志,与 BeginFont 和 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()
输出:
【问题讨论】:
-
我没有看到那个函数,但它确实有一个
BeginFont函数,所以你可以创建一个带删除线的字体,然后这样使用它。 -
嗨@CorleyBrigman,我尝试了
BeginFont和EndFont,但没有给出删除效果。请参阅有问题的EDIT 1。 -
我自己并没有真正使用过,但看起来下面还有另一个答案。
-
是的@CorleyBrigman,它为我工作了 100% :)
标签: python wxpython strikethrough richtextctrl