2012-10-16 110 views
0

我知道我可以使用「SetFont()」設置字體,但是這隻適用於整個靜態文本。我有這樣的事情(不工作,只是爲例):我可以更改靜態文本的一部分字體嗎?

sports = ['football', 'baseball', 'basketball'] 
for i in range(3): 
    wx.StaticText(self.mypanel, -1, sports[i].SetFont(anyfont) + ' is great!', (50,50+20*i)) 

因此,在所有這些顯示3只句子的第一個字應得到的字體; '是很棒的!'不能接收字體。我怎樣才能做到這一點?

回答

2

我很確定StaticText小部件不支持。您可以在Rich Text模式下使用無邊框只讀(或禁用)TextCtrl來完成此操作。如果您還沒有它,請下載wxPython演示包。它有一個更改某些單詞的字體的示例。或者,你也可以使用HTMLWindow。

+0

謝謝,我可以用TextCtrl解決它。確實,我的文字有一段邊界,但這對我來說不成問題。 – Munchkin

+0

還有一個可用於刪除邊框的樣式標誌。我認爲這是wx.NO_BORDER。或者看看這個有趣的線程在滾動你自己的控制:http://wxpython-users.1045709.n5.nabble.com/Borderless-textbox-revisited-td2338666.html –

0

你可以把「很棒!」變成一個不同的靜態文本控件。如果您使用sizer,將它很容易排列起來,看起來像一個靜態文本

+0

大概這個工程,但我沒有經驗sizers = / – Munchkin

相關問題