【问题标题】:Strange behavior due to wx.Frame.SetTitle由于 wx.Frame.SetTitle 导致的奇怪行为
【发布时间】:2010-02-25 11:31:14
【问题描述】:

在我正在移植到 Mac OSX 的 wxPython 应用程序中,我在更新 UI 事件中每 500 毫秒设置一次应用程序框架的标题,因此所有面板和窗口都会刷新。这对我来说似乎很奇怪,几乎停止了我的应用程序,它有许多自定义绘制的控件和屏幕。

想知道是什么原因造成的,MAC正常吗?

这是一个自我约束的脚本,它使用计时器复制场景。它继续每 500 毫秒打印一次“油漆”,因为在计时器中,我每 500 毫秒设置一次标题。

import wx

app = wx.PySimpleApp()
frame = wx.Frame(None, title="BasePainter Test")
painter = wx.Panel(frame)

def onPaint(event):
    dc = wx.PaintDC(painter)
    print "onPaint"

painter.Bind(wx.EVT_PAINT, onPaint)

def loop():
    frame.SetTitle(frame.GetTitle())
    wx.CallLater(500, loop)
loop()

frame.Show(True)
app.SetTopWindow(frame)
app.MainLoop()

我的系统详情:

>>> sys.version
'2.5 (r25:51918, Sep 19 2006, 08:49:13) \n[GCC 4.0.1 (Apple Computer, Inc. build 5341)]'
>>> wx.VERSION
(2, 8, 10, 1, '')
>>> os.uname()
('Darwin', 'agyeys-mac-mini.local', '9.8.0', 'Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386', 'i386')

【问题讨论】:

    标签: macos wxpython


    【解决方案1】:

    唉,我不确定具体的问题。但是,当您有一个演示问题的示例但被难住时,我总是很幸运,可以通过电子邮件发送 wxpython-users 邮件列表并附上示例。如果您可以采取一些措施来修复它,您应该很快就会收到回复,如果没有,您应该在跟踪器中提交错误。

    我已经用这种方法解决了很多问题,当我必须提交错误时,它们通常会很快得到解决。希望这会有所帮助!

    【讨论】:

    • 是的,谢谢,沉迷于 SO,以至于我忘记了过去也有邮件组 :)
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 2017-07-21
      • 1970-01-01
      • 2016-01-18
      • 1970-01-01
      相关资源
      最近更新 更多