gpt4 book ai didi

fonts - wxPython TextCtrl 转换为大写

转载 作者:行者123 更新时间:2023-12-02 01:22:52 25 4
gpt4 key购买 nike

我正在寻找一种将 textctrl 字段中输入的文本转换为大写的方法。我尝试使用验证器并使用“ord”将键事件对象的值转换为大写字母字符值,但是我找不到任何“set”方法。我也许能够直接访问事件类变量,因为 python 中的类变量从来都不是真正私有(private)的,但我很难找到我需要执行此操作的确切信息。

无论如何,这似乎是一种过于复杂的方法。还有其他人有什么建议吗。我是否遗漏了一些明显的东西?

最佳答案

试试这个。

import wx

class UpperTextCtrl(wx.TextCtrl):
def __init__(self, *args, **kwargs):
super(UpperTextCtrl, self).__init__(*args, **kwargs)
self.Bind(wx.EVT_TEXT, self.on_text)
def on_text(self, event):
event.Skip()
selection = self.GetSelection()
value = self.GetValue().upper()
self.ChangeValue(value)
self.SetSelection(*selection)

class Frame(wx.Frame):
def __init__(self):
super(Frame, self).__init__(None, -1, 'Uppercase Text Control')
panel = wx.Panel(self, -1)
sizer = wx.BoxSizer(wx.VERTICAL)
text = UpperTextCtrl(panel, -1, style=wx.TE_MULTILINE)

# change the font
font = text.GetFont()
font.SetPointSize(12)
text.SetFont(font)

sizer.Add(text, 1, wx.EXPAND|wx.ALL, 10)
panel.SetSizer(sizer)

if __name__ == '__main__':
app = wx.PySimpleApp()
frame = Frame()
frame.Show()
app.MainLoop()

关于fonts - wxPython TextCtrl 转换为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241942/

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