【问题标题】:wxPython RichTextCtrl.SetStyle([...]) IssuewxPython RichTextCtrl.SetStyle([...]) 问题
【发布时间】:2012-02-16 11:39:33
【问题描述】:

我想在 wxPython 中更改 RichTextControl 的字体,但遇到了一个我无法弄清楚的问题。以下是相关代码:

import wx
import wx.richtext as rt
#....
codebox = rt.RichTextCtrl(self)
f = wx.Font(10, wx.TELETYPE, wx.NORMAL, wx.NORMAL)
s = wx.TextAttr(font = f)
codebox.SetStyle((0,0), s)

最后一行是引发错误的地方。具体来说:

TypeError: in method 'RichTextCtrl_GetStyle', 
expected argument 3 of type 'wxTextAttrEx &'

我的代码基于我在网上找到的东西,但是我立即意识到我的 wxPython 版本不同,因为我在 SetStyle() 中作为范围提供的元组是作为两个不同的参数提供的,但是当我模仿该设置时解释器给我一个错误并要求我使用一个元组。

有人知道我哪里出错了吗?或者,当然,一种解决方法?谢谢。

【问题讨论】:

    标签: python wxpython


    【解决方案1】:

    s 应该是 wx.TextAttrEx 类型,而不是像你所做的那样的 wx.TextAttr。

    SetStyle(self, range, style)

    将范围内文本的样式设置为样式

    Parameters:
        range
                   (type=RichTextRange)
    
        style
                   (type=TextAttrEx)
    

    【讨论】:

    • 我之前已经注意到了这一点,但由于 wx.TextAttrEx 不存在(与 wx.TextAttr 相对)而走到了死胡同。但经过进一步调查,该类型位于 wx.richtext.TextAttrEx 下。谢谢粘!
    猜你喜欢
    • 1970-01-01
    • 2018-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多