Thanks for this, Baz.

Indeed your example works as advertised. I'm going to work from that to create 
a failing example. 


Thanks!


----- Original Message ----
From: Baz Walter <[email protected]>
To: "[email protected]" <[email protected]>
Sent: Thu, October 8, 2009 2:09:23 PM
Subject: Re: [PyQt] QTimer.singleShot

Jason H wrote:
> I have a GUI application and I want to trigger an event after my GUI starts:
> if __name__=="__main__":
>     a = QApplication(sys.argv)
>         m=Main(False)
>     m.show()
>     a.exec_()
>     I put "QTimer.singleShot(0, self.start)"
> after the m __init__ialization, both in the class, and I also tried it after 
> m.show() but the console just floods with:
> 
> QCoreApplication::exec: The event loop is already running
> QCoreApplication::exec: The event loop is already running
> QCoreApplication::exec: The event loop is already running
> QCoreApplication::exec: The event loop is already running
> 
> What do I have to do to get my GUI started and using the existing event loop?

it's difficult to be certain what the problem is from what you've posted as 
you've left out all the relevant code.

how does your actual code differ from the working example below:

import sys
from PyQt4 import QtCore, QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        QtCore.QTimer.singleShot(0, self.start)

    def start(self):
        print 'start'

if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)
    mw = MainWindow()
    mw.show()
    sys.exit(app.exec_())
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to