#include <qftp.h>
#include <qapplication.h>
#include "test.h"
#include "ui_test.h"
#include <qfile.h>
int main()
{
QApplication a(argc, argv);
Test w;
ftp.connectToHost("192.168.26.129", 21);
w.show();
return a.exec();
}
我是 Qt 新手,ftp.connectToHost("192.168.26.129", 21)
在 main 中运行良好,但每当从类 Test
调用时,它都会失败(具有相同的 header 包含)如下。
Test::Test(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Test)
{
ui->setupUi(this);
QFtp ftp;
int x = ftp.connectToHost("192.168.26.129", 21);
ftp.login("User1", "passwd");
}
任何建议都会有帮助。谢谢!
最佳答案
当您的 Test
类构造函数超出范围时,您的 ftp
对象将被销毁。 QFtp::connectToHost
函数不会阻塞并立即返回。 QFtp::login
也是如此。
要解决此问题,您可以使用 new
分配 QFtp
对象:
QFtp *ftp = new QFtp(this);
关于c++ - 无法在 Qt 中执行 ftp ConnectToHost,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20676269/