7

メイン ウィンドウを開いた後、変数の設定を遅らせようとしています。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() 

私の質問は、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...

前もって感謝します!-ポール

4

1 に答える 1

7

なぜあなたのために働いていないのかわかりません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...
于 2012-05-20T21:57:09.033 に答える