簡體   English   中英

可以在Python中為wxMenuItem設置文本顏色嗎?

[英]Can one set the text colour for a wxMenuItem in Python?

查看wxWidgets文檔 ,我看到應該只能在Windows中為wxMenuItem對象設置文本顏色。 我正在使用Windows,效果很好。

當使用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

我玩過您的代碼,並注意到僅當menuitem尚未附加到菜單時才應用顏色。 因此,您需要執行以下操作,而不是menu.Append(...)

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

我在wx 2.9上使用YMMV。 我沒有注意到縮進問題,但這也可能與版本有關。

紅色菜單項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM