首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QObject::connect -- Event -- QFtp stateChange(int)

QObject::connect -- Event -- QFtp stateChange(int)
EN

Stack Overflow用户
提问于 2011-12-27 20:56:09
回答 1查看 300关注 0票数 0

所以我是一名C#开发人员,我正在学习C++ (作为业余爱好)。

我使用Qt来实现这一点,并且为了练习,我想创建一个FTP客户端,但我有一个问题。

当ftp连接状态改变时,我创建了一个事件,所以我想使用event stateChanged(int)

但我有个问题:

代码语言:javascript
复制
Error: no matching function for call to 'QObject::connect(QFtp*&, const char*, Ftp* const, const char*)'

我的代码:

代码语言:javascript
复制
    #include "ftp.h"

QString _host;
QString _User;
QString _Pass;

Ftp::Ftp(QObject *parent,QString host,QString user,QString pass)
{
    ftp =new QFtp(parent);
    QObject::connect(ftp,SIGNAL(stateChanged(int)),this,SLOT(FtpStateChang(int)));
    _host = host;
    _User = user;
    _Pass = pass;
}

void Ftp::Connect()
{
    ftp->connectToHost(_host,21);
    ftp->login(_User,_Pass);
}

void Ftp::FtpStateChang(int state)
{
    //EVENT
}

QString Ftp::CheckConnection()
{
    Connect();
    switch(ftp->state())
    {
        case QFtp::LoggedIn:
            return "LoggedIn";
        case QFtp::Unconnected:
            return "Unconnected";
        case QFtp::Connecting:
            return "Connecting";
        case QFtp::Closing:
            return "Closing";
    }
}

请告诉我为什么。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2012-01-21 07:56:07

可以,如果您忘记并不要忘记将Q_OBJECT宏放在类定义的private部分(因为您声明了自己的插槽),则从QObject继承。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8644903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档