using QFtp class in PyQT

Phil Thompson phil at riverbankcomputing.co.uk
Mon Apr 19 14:14:55 EDT 2004


On Monday 19 April 2004 2:59 pm, Kim wrote:
> Hi everybody,
> I tried to write simple FTP program using PyQt version 3.11. The
> document say that QFtp has been implemented, but i keep getting error
> message from my simple program :
>
> My Program:
>
> from qt import *
> from qtnetwork import *
>
> def gotSignalStart(*arg):
>     print "start ",arg
>
> def gotSignalState(*arg):
>     print "state ",arg
>
> def gotListInfo(*arg):
>     print "List info ",arg
>
> def doFTP():
>     fh = QFtp()
>     QObject.connect(fh,SIGNAL("start()"),gotSignalStart);
>     QObject.connect(fh,SIGNAL("stateChanged()"),gotSignalState);
>     QObject.connect(fh,SIGNAL("listInfo()"),gotListInfo);
>     fh.connectToHost("ftp.trolltech.com")
>     fh.login()
>     print fh.state()
>     if fh.state() != QFtp.Unconnected : fh.close()
>
> doFTP();
>
> Error messages:
>
> QObject::connect: No such signal QFtp::start()
> QObject::connect:  (sender name:   'unnamed')
> QObject::connect:  (receiver name: 'unnamed')
> QObject::connect: No such signal QFtp::stateChanged()
> QObject::connect:  (sender name:   'unnamed')
> QObject::connect:  (receiver name: 'unnamed')
> QObject::connect: No such signal QFtp::listInfo()
> QObject::connect:  (sender name:   'unnamed')
> QObject::connect:  (receiver name: 'unnamed')
> 0

You must give the full (C++) signature of the signal, eg...

SIGNAL("listInfo(const QUrlInfo &)")

> QSocket::writeBlock: Socket is not open

QFtp is asynchronous. You need an event loop to make sure things actually 
happen.

Phil




More information about the Python-list mailing list