wx.SYS_COLOUR_WINDOW - Где устанавливаются эти системные цвета? - PullRequest
0 голосов
/ 16 сентября 2011

Я просматриваю исходный код для приложения wxpython (я новичок в wx) и хотел внести несколько изменений в цвета, используемые приложением - окна, вкладки и т. Д.

Я обнаружил, что разработчик использовал такие вещи, как:

sysTextColour = wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOWTEXT )
windowColor = wx.SystemSettings_GetColour(wx.SYS_COLOUR_WINDOW)

Это, конечно, имеет большой смысл, и я бы предпочел оставить код как есть, но вместо этого изменить системуцвета таким образом, что все такие наборы инструментов будут использовать их (wx, gtk, tk и т. д.).Если «all» немного амбициозно, то, по крайней мере, все приложения «wx» используют их.Моим последним предпочтением было бы внести изменения в этот код для изменения цветовой темы.

Я понятия не имею, где это сделать.

Я использую Linux и wmii в качестве оконного менеджера- так что в отличие от gnome / kde, который, вероятно, дает вам панель управления для установки этих цветов, wmii этого не делает.

Как бы вы посоветовали мне делать общесистемные изменения?

1 Ответ

1 голос
/ 16 сентября 2011

Системные цвета устанавливаются по-разному в зависимости от типа системы.В некоторых системах они жестко запрограммированы (в wxWigets), в других они читаются из информации, предоставленной системой.

Я не совсем уверен, какая "версия" (wxGTK, wxMac, wxUniversal...) будет использовать Wii.Конечно, на wxGTK они читаются с GTK.Вы можете попробовать создать тематику wmii (см. http://wmii.suckless.org/themes). Надеюсь, у кого-то еще может быть больше информации о том, как это сделать.

В самом wxPython вы можете либо воспользоваться опциями, которые предоставляет SystemSettings, либо использоватьсобственные цвета, но вы не можете установить SystemSettings в wxPython. Он доступен только для чтения.

...