在wxpython中,如何选择特定文本并设置其所选的字体样式

时间:2016-05-08 17:39:47

标签: wxpython

我在wxpython中创建了一个文本编辑器,但我无法获取所选文本。 我想我使用的函数GetSelectedString()函数错误

def OnSelectFont(self,e):

    dialog = wx.FontDialog(None, wx.FontData())
    if dialog.ShowModal() == wx.ID_OK:
        data=dialog.GetFontData()

        self.text.GetSelectedString.SetFont(font)

    dialog.Destroy()

1 个答案:

答案 0 :(得分:0)

假设您有wx.TextCtrl样式wx.TE_RICH,如下所示:

self.text = wx.TextCtrl(self.button, style=wx.TE_RICH)

然后,例如,为了将选择设置为粗体,您可以执行以下操作:

    font = wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.NORMAL, wx.FONTWEIGHT_BOLD, False)
    style = self.text.GetDefaultStyle()
    style.SetFont(font)
    (begin, end) = self.text.GetSelection()
    self.text.SetStyle(begin, end, style)

wx.TE_RICH在这里至关重要,否则您将无法SetStyle