Quote Originally Posted by cxl2253 View Post
QFile file("c:\\testdata.jpg");
if (!file.open(QIODevice::ReadOnly)) return false;
QFileInfo fi(filename);
ftp->put(&file,"testtest.jpg"); //the file not be uploaded!!!!!
You create file on the stack and then you pass a pointer to it to a non-blocking method --- this won't work, because QFtp::put() only stores that pointer and returns... and then file gets destroyed leaving ftp with a dangling pointer.

Quote Originally Posted by cxl2253 View Post
Qt Code:
  1. void storescpThread::setText(T_DIMSE_StoreProgressState state,char * name)
  2. {
  3. textEdit->append(name);
  4. upLoadFile("030600030230","c:\\1.jp2");
  5. }
To copy to clipboard, switch view to plain text mode 
You can't access widgets from a non-GUI thread directly. Better define a signal and connect it via queued connection to that text edit's append() slot.