如何从 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()
最佳答案
简短的回答是你不能。
背景色和前景色被您禁用它们的事实所覆盖。您的操作系统环境决定了禁用项目的外观。
当然,这并不意味着您无法解决这个问题。
如果不是禁用/启用该项目,而是设置一个 True/False 标志,然后您可以在触发事件时检查该标志,并根据该标志是 True 还是 False,您是否处理该事件。
这允许您处理事件并显示您喜欢的任何颜色。
关于colors - 如何从 wxPython 更改禁用的 TextCtrl 的 ForegroundColour,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899928/