【问题标题】:wxPython RichTextCtrl much slower than tkInter Text?wxPython RichTextCtrl 比 tkInter Text 慢很多?
【发布时间】:2010-11-06 17:59:59
【问题描述】:

我制作了一个小工具,可以解析一段文本,进行一些简单的处理(从字典中检索值、一些正则表达式等),然后输出结果。

为了更容易阅读结果,我制作了两个图形端口,一个使用 tkInter,另一个使用 wxPython,因此输出可以很好地显示在文本区域中,其中一些单词具有不同的颜色。

tkInter 实现使用Tkinter.Text 对象并将颜色应用于单词使用标签(使用方法Tkinter.Text.tag_config 配置并将它们传递给Tkinter.Text.insert),并且在输出大约400 个不同颜色的单词时测量为

wxPython 实现使用wx.richtext.RichTextCtrl 并将颜色应用于单词使用wx.richtext.RichTextCtrl.BeginTextColour 然后wx.richtext.RichTextCtrl.AppendText;性能太荒谬了,做同样的工作只需要 0.02 秒到 tkInter 端口需要大约 1.4 秒。

这是 RichTextCtrl 小部件、wxPython 绑定的固有问题,还是有一些方法可以加快速度?

谢谢!

【问题讨论】:

  • 你在哪个平台上工作?我注意到 wxPython 在 Linux 上比在 Windows 上慢很多。
  • Linux...我可以在windows上试试看会不会好一点。
  • 我已经在 Windows 上测试过,确实更快(现在大约需要一半时间,大约 0.6 秒),但仍然比 tkInter 版本慢了近 30 倍:-s
  • 尝试向 wxPython-users 组发帖,看看 Robin 是否有任何见解。我敢打赌那里的专家可以更快地获取您的代码。 groups.google.com/group/wxPython-users
  • 您是否尝试过使用 Freeze() 和 Thaw() 仅在完成附加彩色文本后更新显示?

标签: python performance wxpython tkinter richtextediting


【解决方案1】:

我在这里复制解决问题的评论:

您是否尝试过使用 Freeze() 和 Thaw() 仅更新显示 完成附加后 彩色文字? – mghie 6 月 30 日 7:20

【讨论】:

    【解决方案2】:

    这有点回避了这个问题,但是你能用 wxStyledTextCtrl 代替吗?

    【讨论】:

      猜你喜欢
      • 2014-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多