2012-02-16 37 views
1

我想更改wxPython中RichTextControl的字體,但我遇到了一個我無法弄清的問題。這裏是相關的代碼:wxPython RichTextCtrl.SetStyle([...])問題

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一系列元組()的兩種不同說法被改爲提供,然而,當我模仿該設置時,解釋器向我拋出一個錯誤,並要求我使用一個元組。

有沒有人知道我要去哪裏錯了?或者,當然,解決方法?謝謝。

回答

0

s應該是類型wx.TextAttrEx,而不是wx.TextAttr,就像你所做的那樣。

的SetStyle(個體經營,種類齊全,款式)

設置樣式爲範圍的文字風格

Parameters: 
    range 
       (type=RichTextRange) 

    style 
       (type=TextAttrEx) 
+0

我以前就注意到,但走入了死衚衕,因爲wx.TextAttrEx不存在(與wx.TextAttr相反)。但在進一步調查中,該類型在wx.richtext.TextAttrEx下。謝謝粘性! – ean 2012-02-16 13:03:39