wxPython公司wx.TextCtrl强制样式

2024-10-01 15:33:55 发布

您现在位置:Python中文网/ 问答频道 /正文

只是一个简单的问题wx.TextCtrl元素。 我有一个文本字段,用户可以在其中添加一个字符串。 我想要一个有红色文本的文本字段。 所以我生成了以下代码:

self.hRepositoryTextfield = wx.TextCtrl(self.hPanel)
self.hRepositoryTextfield.SetDefaultStyle(wx.TextAttr(wx.RED))

如果用户在此文本字段上复制了一些带有应用字体的字符串(例如黑色字符串,或具有特定字体的字符串),则无论如何,默认样式将不受尊重。 我想要我自己决定的款式wx.TextCtrl总是根据我的设置强制执行。 我该怎么办?在

提前谢谢你

阿克塞尔


Tags: 字符串代码用户文本self元素字体red
3条回答
self.hRepositoryTextfield.SetForegroundColor(wx.RED)

应该行得通。。。。在

SetForegroundColor可以在一个操作系统上工作,而不能在另一个操作系统上工作。它取决于本机widget。我会将textcrl的样式标志设置为王泰瑞. 查看wxPython演示示例。您还可以使用StyledTextCtrl或甚至HTMLCtrl的FancyText。在

我是这样解决问题的:

在代码的第一部分,它定义了我的textfield样式。。。在

self.hRepositoryTextfield.SetStyle(0, len(self.hRepositoryTextfield.GetValue()), wx.TextAttr(wx.RED))
self.hRepositoryTextfield.SetFont(self.hFontLabel)
self.hRepositoryTextfield.Bind(wx.EVT_TEXT, self.forceDefaultStyle)

。。。然后我将每个文本更改绑定到我的强制样式函数:

^{pr2}$

而且很管用!在

相关问题 更多 >

    热门问题