gpt4 book ai didi

colors - wxPython:如何使用复选框更改textctrl中的字体颜色?

转载 作者:行者123 更新时间:2023-12-02 11:31:54 26 4
gpt4 key购买 nike

我有一些像这样的复选框

self.myCB = wx.CheckBox(panel, id=02, label="someString", pos=(20, 25))

每个复选框后面都有一个像这样的TextCtrl

self.myTC = wx.TextCtrl(panel, value=" 0", id=self.myCB.GetId(), pos=(320, 25), size = wx.Size(80, 20))

当我选择该复选框并且 Textctrl 的值为“0”时,我的 Textctrl 的字体颜色应更改为红色。

我尝试使用 if 语句,但它没有执行任何操作

最佳答案

您可能需要将样式 wx.TE_RICH 应用于 TextCtrl 才能更改文本颜色。

测试:

import wx

class Main(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title)

self.text = wx.TextCtrl(self, wx.NewId(), style=wx.TE_RICH)
self.check = wx.CheckBox(self, wx.NewId(), 'Make text red if 0')
self.check.Bind(wx.EVT_CHECKBOX, self.onCheck)

sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.text, 0)
sizer.Add(self.check, 0)
self.SetSizerAndFit(sizer)
self.Show()

def onCheck(self, evt):
value = self.text.GetValue()
if self.check.IsChecked() and value == '0':
self.text.SetForegroundColour(wx.RED)
else:
self.text.SetForegroundColour(wx.BLACK)

app = wx.App(0)
Main(None, -1, 'Checkbox')
app.MainLoop()

关于colors - wxPython:如何使用复选框更改textctrl中的字体颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8588287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com