<div dir="ltr">thanks to ur reply. <div><br></div><div>i have try use <span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">ftp</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">put</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">filename</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> up_fname</span><span style="color:rgb(80,0,80);font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;font-size:14px;line-height:17.804800033569336px;white-space:pre-wrap;margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">) at the beginning. this works.  only the file name  in the file uploaded on server, not correct.</span></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-07-01 17:50 GMT+07:00 Robert Kent <span dir="ltr"><<a href="mailto:rob@gulon.co.uk" target="_blank">rob@gulon.co.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word;color:rgb(0,0,0);font-size:14px;font-family:Calibri,sans-serif"><div><div>You need to keep the handle to your QFile object in scope. The put() method returns straight away and the data to be put is added to a queue and uploaded in the background. Your selectFile() method returns straight away therefore your upload_file object goes out of scope before it can be sent. Simply changing upload_file to self.upload_file will solve your problem.</div>
</div><div><br></div><div>Hope this helps ;o)</div><div>Rob</div><div><br></div><div><br></div><span><div style="font-family:Calibri;font-size:11pt;text-align:left;color:black;BORDER-BOTTOM:medium none;BORDER-LEFT:medium none;PADDING-BOTTOM:0in;PADDING-LEFT:0in;PADDING-RIGHT:0in;BORDER-TOP:#b5c4df 1pt solid;BORDER-RIGHT:medium none;PADDING-TOP:3pt">
<span style="font-weight:bold">From: </span> 不坏阿峰 <<a href="mailto:onlydebian@gmail.com" target="_blank">onlydebian@gmail.com</a>><br><span style="font-weight:bold">Date: </span> Tuesday, 1 July 2014 03:30<br><span style="font-weight:bold">To: </span> <<a href="mailto:pyqt@riverbankcomputing.com" target="_blank">pyqt@riverbankcomputing.com</a>><br>
<span style="font-weight:bold">Subject: </span> [PyQt] How to add ftp put function in PyQT network ftp demo<br></div><div><br></div><div dir="ltr"><div class=""><span style="color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;font-size:14px;line-height:17.804800033569336px">I want to modify the pyqt network ftp demo to include an upload function, but I am failing. Could someone can show me how to do this? I have tried to add this code, but it does not work. [Orignal Demo]</span><a href="https://github.com/Werkov/PyQt4/blob/master/examples/network/ftp/ftp.py" rel="nofollow" style="margin:0px;padding:0px;border:0px;font-size:14px;vertical-align:baseline;color:rgb(74,107,130);text-decoration:none;font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804800033569336px;background-image:initial;background-repeat:initial" target="_blank">https://github.com/Werkov/PyQt4/blob/master/examples/network/ftp/ftp.py</a><br>
<div><br></div></div><div><pre style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:14px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.804800033569336px;background:rgb(238,238,238)">
<code style="margin:0px;padding:0px;border:0px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><div class="">
<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">buttonBox</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">addButton</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">uploadButton</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
            </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QtGui</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QDialogButtonBox</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">ActionRole</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">uploadButton </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">=</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QtGui</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QPushButton</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"upload"</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span></div>
<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">uploadButton</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">clicked</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">connect</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">selectFile</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"></span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">def</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> selectFile</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">):</span><div class="">
<span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
    self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">filename </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">=</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QtGui</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QFileDialog</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">getOpenFileName</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">()</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
    up_fname </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">=</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> re</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">sub</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">r</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">".*/"</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">""</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">filename</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
    upload_file </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">=</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> </span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QtCore</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">QFile</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">filename</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">
    self</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">ftp</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">.</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">put</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">(</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">upload_file</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">,</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent"> up_fname</span><span style="margin:0px;padding:0px;border:0px;vertical-align:baseline;background:transparent">)</span></div>
</code></pre></div></div>
_______________________________________________
PyQt mailing list    <a href="mailto:PyQt@riverbankcomputing.com" target="_blank">PyQt@riverbankcomputing.com</a>
<a href="http://www.riverbankcomputing.com/mailman/listinfo/pyqt" target="_blank">http://www.riverbankcomputing.com/mailman/listinfo/pyqt</a></span></div>
</blockquote></div><br></div>