Pau*_*aul 4 python qt qt4 pyqt
我打算在打开主窗口后延迟设置变量.我试过showEvent(),但这不起作用.我知道在wxPython中有wx.FutureCall方法在这种情况下使用:
class MyFrame(wx.Frame):
def __init__(..frame init parms.., ..your init parms..):
wx.Frame.__init__(..frame init parms..)
self.Show()
wx.FutureCall(500,self.OnLoad) #1/2 seconds from now to call OnLoad()
def OnLoad(self, ..your init parms..):
..your init code..
self.Refresh()
Run Code Online (Sandbox Code Playgroud)
我的问题是:在我的PyQT主窗口进行初始化并最终显示后,如何延迟执行某些操作?我怎样才能做到这一点:
class MyWindow(QtGui.QMainWindow):
def __init__(self,parent=None):
QtGui.QWidget.__init__(self,parent)
... init stuff here...
self.FutureCall(500,self.OnLoad)
def OnLoad(self,event):
... my stuff here...
Run Code Online (Sandbox Code Playgroud)
提前致谢! - 保罗
我不知道为什么showEvent不为你工作.对我而言,它按预期工作.在显示窗口后触发它.
对于延迟通话,您可以使用QTimer.singleShot:
class MyWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
... init stuff here...
QtCore.QTimer.singleShot(500, self.OnLoad)
def OnLoad(self):
... my stuff here...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2436 次 |
| 最近记录: |