2012-11-20 38 views
0

看看wxWidgets documentation,我發現應該只能在Windows中爲wxMenuItem對象設置文本顏色。我使用Windows,非常好。可以在Python中設置wxMenuItem的文本顏色嗎?

在wxPython中編寫代碼並試圖完成此操作時,不僅沒有改變菜單項的文本顏色,而且我注意到在同一菜單中跟隨此菜單項的菜單項縮進1個字符。確實很奇怪。我應該刪除指令來設置文本顏色,兩個菜單項按預期排列。

所以這裏是我的代碼。我在代碼中看不到任何錯誤,但也許有一些東西是因爲我確信縮進是一種跡象。

menu = wx.Menu() 
colour = (255,0,0) # like the text to be red 
m_cluster = menu.Append(-1, "&Cluster\tAlt-C", "Cluster Options.") 
m_cluster.SetTextColour(colour) # remembered to spell color with u 
self.Bind(wx.EVT_MENU, self.OpenClusterDialog, m_cluster) 
m_data = menu.Append(-1, "Data Source", "Set Data Source Information") 
self.Bind(ex.EVT_MENU, self.OpenDataSourceDialog, m_data) 
menuBar.Append(menu, "&Options") # menu bar previously defined 

wxversion.py報告,我有2.8-msv-unicode安裝

回答

1

我打了你的代碼後發現,如果菜單項尚未追加到菜單的顏色將只適用。因此,而不是menu.Append(...),你需要到:

m_cluster = wx.MenuItem(menu, -1, "&Cluster\tAlt-C", "Cluster Options.") 
m_cluster.SetTextColour(colour) 
menu.AppendItem(m_cluster) 

我在WX 2.9這樣因人而異。我沒有注意到縮進問題,但是這也可能與版本有關。

Red menu item

+0

太棒了!也適用於我。只是以錯誤的順序做事/做得太緊湊 – demongolem

相關問題