2015-08-09 5 views
2

Как изменить цвет переднего плана отключенного TextCtrl из wxPython?
Я имею в виду, когда я меняю цвет с помощью SetForegroundColour, он изменяется только для включенного состояния. Когда я отключу TextCtrl, он остается темно-серым, даже если я установил его красным, например.
Заранее спасибо!Как изменить ForegroundColour отключенного TextCtrl из wxPython

import wx 

class MainFrame(wx.Frame): 

    def __init__(self, *args, **kwargs): 
     super(MainFrame, self).__init__(*args, **kwargs) 
     self.InitUI() 
     self.Fit() 
     self.Show(True)    

    def InitUI(self): 
     text = wx.TextCtrl(self) 
     text.SetForegroundColour((255,0,0)) 
     text.SetValue('Example') 
     text.Enable(False) 

def main(): 
    app = wx.App() 
    MainFrame(None) 
    app.MainLoop() 

if __name__ == '__main__': 
    main() 
+0

Вы отказались или взломали его другим способом? –

+0

Я сдался, потому что, как вы сказали, это невозможно. Я, наконец, переключаюсь между TextCtrl и StaticText. Благодаря! – dhiga

ответ

1

Короткий ответ, что вы не можете.
Цвет фона и переднего плана переопределяется тем фактом, что вы отключили их. Среда вашей операционной системы определяет, как будут выглядеть отключенные элементы.

Конечно, это не значит, что вы не можете обойти эту проблему.
Если вместо отключения/включения элемента вместо этого вы устанавливаете флаг True/False, вы можете проверить этот флаг при запуске события и в зависимости от того, установлен ли флаг True или False, вы обрабатываете событие или нет.
Это позволяет обрабатывать события и отображать любые цвета, которые вам нравятся.

+0

Спасибо за ответ и рекомендацию! – dhiga

 Смежные вопросы

  • Нет связанных вопросов^_^