【问题标题】:How to change ForegroundColour of a disabled TextCtrl from wxPython如何从 wxPython 更改禁用的 TextCtrl 的 ForegroundColour
【发布时间】:2015-11-01 05:00:41
【问题描述】:

如何从 wxPython 更改禁用的 TextCtrl 的前景色?
我的意思是,当我使用 SetForegroundColour 更改颜色时,它只会更改启用状态。例如,当我禁用 TextCtrl 时,即使我将其设置为红色,它也会保持深灰色。
提前致谢!

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()

【问题讨论】:

  • 你是放弃还是用其他方式破解?
  • 我放弃了,因为正如你所说,这是不可能的。我终于在 TextCtrl 和 StaticText 之间切换。谢谢!

标签: colors wxpython textctrl ubuntu


【解决方案1】:

简短的回答是你不能。
背景和前景色被您禁用的事实所覆盖。您的操作系统环境决定了禁用项目的外观。

当然,这并不意味着您无法解决这个问题。
如果不是禁用/启用该项目,而是设置一个 True/False 标志,则可以在触发事件时检查该标志,并根据标志是 True 还是 False,您是否处理该事件。
这使您可以处理事件并显示您喜欢的任何颜色。

【讨论】:

  • 感谢您的回答和推荐!
猜你喜欢
  • 2011-10-28
  • 2018-03-01
  • 2011-08-16
  • 2012-12-27
  • 2013-12-23
  • 1970-01-01
  • 2013-08-28
  • 2012-01-25
  • 1970-01-01
相关资源
最近更新 更多