2013-12-11 63 views
0

我試圖改變顏色或wx.listbox的字體與顏色或字體在wxpython.ListBox

testfont = wx.Font(100, wx.MODERN, wx.NORMAL, wx.NORMAL, False, u'') 
     self.SetItemFont(1, testfont) 

但這不起作用!我在網上找了一個提示,但沒有發現任何東西。

+0

需要多一點代碼,是否有錯誤?你以前是做這個還是添加一個項目,什麼類型是自己的(更重要的是它是從哪裏來的?) –

回答

0

如果谷歌周圍,你會發現下面的線索:

根據這一線索,羅賓·鄧恩(wxPython的創造者)說,你需要重寫它的顯示方法,像這樣:

def Show(self, show, attr): 
    self.choice.Show(show) 
    font = self.choice.Parent.GetFont() 
    font.SetStyle(wx.FONTSTYLE_ITALIC) 
    self.choice.SetFont(font) 
    self.choice.SetBackgroundColour(wx.Colour(223, 223, 223)) 
+0

感謝您的回答!我很抱歉我的壞問題。我'只'想編輯一個列表框的一個項目的顏色(請參閱我的示例)。在你的文章SetBackgroundColour工作正常,但我不能使用SetItemBackgroundColour ... :(你有一個想法如何解決我的問題? – user2686223

+0

設置窗口小部件的背景和前景顏色不支持跨所有平臺,因爲wxPython使用本地小部件,如果本機小部件不支持它,那麼wx不支持它。您可能必須創建一個自定義小部件才能獲得所需的效果。 –