这是我的应用程序的主要索引类,它在 DockPanel 中加载各种类。我试图让按钮使用它的 clicklistener (“OnClick”)调用 Timer 函数。按钮加载下一个屏幕,这是一个微调器的图像,我希望能够控制它在加载下一个屏幕之前显示多长时间(这是实验条件的一部分,我意识到这不是一个很好的方法制作装载机)。问题是按钮按下加载下一页,但是它不会激活导致页面无限显示的计时器。
目前 Timer 正在加载到 DockPanel 的 SOUTH 部分,但是我也尝试在“OnClick”中简单地调用 Timer 函数。(例如“定时器(2000,self.OnTimer)”)
有谁知道为什么我的计时器不工作以及如何解决这个问题?
编辑:我也尝试将它放在 Project 类的init函数中,但是一旦应用程序加载,它就会启动 Timer。因此,在时间间隔之后,它只是加载目标页面而无需按下按钮。
class Project(SimplePanel):
def onModuleLoad(self):
SimplePanel.__init__(self)
self.panel= DockPanel()
self.horizontalslide=HorizontalSliderPage()
self.button=Button("CALCULATE")
self.horizontalslide.add(self.button)
self.button.addClickListener(getattr(self, "OnPress"))
self.recommendation=Details()
self.spinner=Spinner()
self.index=HTML("<h3>Welcome to this experiment.</h3>")
self.curPage=self.index
self.vp=VerticalPanel()
self.vp.add(self.index)
self.link1=Hyperlink("CONTINUE")
self.link1.addClickListener(getattr(self, 'ONLINK1'))
self.panel.add(self.link1, DockPanel.SOUTH)
self.panel.add(self.index, DockPanel.CENTER)
RootPanel().add(self.panel)
def ONLINK1(self, sender):
self.panel.remove(self.curPage)
self.panel.remove(self.link1)
self.panel.add(self.horizontalslide, DockPanel.CENTER)
self.curPage=self.horizontalslide
def OnPress(self, sender):
self.panel.remove(self.curPage)
self.panel.add(self.spinner, DockPanel.CENTER)
self.curPage=self.spinner
return CalculatePercentage()
self.timer=Timer(2000, self.OnTimer)
self.panel.add(self.timer, DockPanel.SOUTH)
def OnTimer(self, target):
self.panel.remove(self.curPage)
self.panel.add(self.recommendation, DockPanel.CENTER)
self.curPage=self.recommendation