【发布时间】:2019-11-02 15:24:14
【问题描述】:
我正在使用 OpenGL 和 wxPython 制作一个可导航的 3D 用户界面的项目。
但是,OnPaint() 函数似乎并没有在主循环中被连续调用。这使得我的界面不会不断更新。该函数仅在我在窗口周围拖动时调用。例如:当我按下箭头键时,窗口中的对象只有在我在窗口周围拖动时才会移动。
我将我的代码归结为这些代码行。谁能帮我在打印时不断调用OnPaint() 函数,而不需要在窗口周围拖动,就可以打印一堆“HI”?
if __name__ == "__main__":
app = MyApp()
app.MainLoop()
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame()
frame.Show()
return True
class MyFrame(wx.Frame):
def __init__(self):
self.size = (1000, 700)
wx.Frame.__init__(self, None, title ="wx", size=self.size)
self.canvas = MyCanvas(self)
class MyCanvas(GLCanvas):
def __init__(self, parent):
GLCanvas.__init__(self, parent, -1, size=(1000, 700))
self.Bind(wx.EVT_PAINT, self.OnPaint)
def OnPaint(self, event):
print("HI")
【问题讨论】: