python - 如何使用 RichTextCtrl 事件?
问题描述
我不确定我是否完全了解如何使用 RichTextCtrl 事件。
我想要的是将输入 RichText 的文本转换为另一个字符串。
我虽然可以这样做,EVT_RICHTEXT_CHARACTER
但是当我输入
self.textField.Bind(wx.EVT_RICHTEXT_CHARACTER,self.textEdit)
其中 self.textField 是 RichTextCtrl 我收到一条错误消息:
Cannot find reference 'EVT_RICHTEXT_CHARACTER' in '__init__.py | __init__.py | imported module wx'
我是否需要导入其他东西才能使其工作?如果是这样 - 什么?我不太明白 wxPython 文档中关于此的内容。
解决方案
我怀疑您只是将事件错误地分配给wx
它应该是其他东西的时间。
下面,因为我导入wx.richtext
的rt
事件将在rt
iert.EVT_RICHTEXT_CHARACTER
import wx
import wx.richtext as rt
class MainFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title='Test RichText Superscript')
self.panel = wx.Panel(self)
self.rtc1 = rt.RichTextCtrl(self.panel,pos=(10,10),size=(350,90),style=wx.VSCROLL|wx.HSCROLL|wx.NO_BORDER|wx.FONTFAMILY_DEFAULT|wx.TEXT_ATTR_FONT_FACE)
self.rtc2 = rt.RichTextCtrl(self.panel,pos=(10,110),size=(350,90),style=wx.VSCROLL|wx.HSCROLL|wx.FONTFAMILY_DEFAULT|wx.TEXT_ATTR_FONT_FACE)
self.rtc1.Bind(rt.EVT_RICHTEXT_CHARACTER,self.textEdit)
self.Show()
attr_super = wx.richtext.RichTextAttr()
attr_super.SetTextEffects(wx.TEXT_ATTR_EFFECT_SUPERSCRIPT)
attr_super.SetFlags(wx.TEXT_ATTR_EFFECTS)
attr_super.SetTextEffectFlags(wx.TEXT_ATTR_EFFECT_SUPERSCRIPT)
self.rtc1.WriteText("Is this super?")
self.rtc1.SetStyle (7, 13, attr_super)
attr_sub = wx.richtext.RichTextAttr()
attr_sub.SetTextEffects(wx.TEXT_ATTR_EFFECT_SUBSCRIPT)
attr_sub.SetFlags(wx.TEXT_ATTR_EFFECTS)
attr_sub.SetTextEffectFlags(wx.TEXT_ATTR_EFFECT_SUBSCRIPT)
self.rtc1.AppendText ("\nIs this sub?")
self.rtc1.SetStyle (23, 26, attr_sub)
self.rtc1.AppendText ("\nIs this normal?")
self.rtc2.WriteText("Is this super?")
self.rtc2.SetDefaultStyle(attr_super)
self.rtc2.WriteText("\nThis is super?")
def textEdit(self, event):
char = event.GetCharacter()
self.rtc2.AppendText(char)
if __name__ == '__main__':
app = wx.App()
frame = MainFrame()
app.MainLoop()
推荐阅读
- excel - VBA循环 - 将单元格复制并粘贴到下一列,直到单元格x等于单元格y
- sql - SQL:当记录在表中不存在时返回一个值
- regex - REGEX 在字符串中查找 6 个连续数字,但忽略超过 6 个连续数字组
- node.js - 获取 TypeError:$ 不是函数,我正在尝试抓取数据
- windows - GetDateFormat 返回无效的 ky-KG 短日期(吉尔吉斯 - 吉尔吉斯斯坦)
- scala - 比较数据框并检索匹配记录
- arrays - 将字符串数组转换为数字数组
- python - 如何将参数传递给调谐器模型?
- pandas - 如何将熊猫数据框的最后一列设置为某些列的总和?
- lua - 是什么让我的罗技 LUA 代码不起作用?