• 10905阅读
  • 5回复

Object::connect:No such  slot [复制链接]

上一主题 下一主题
离线langren
 
只看楼主 倒序阅读 楼主  发表于: 2008-09-30
— 本帖被 XChinux 执行加亮操作(2008-10-01) —
关键词: QFtp
我自己定义的slot怎么会说没有呢 ??
环境:vs2008 专业版
#include <QtCore/QCoreApplication>
#include <QtNetwork>
class FtpLogin:public QObject
{
    Q_OBJECT
public:
    FtpLogin(QObject* parent=0);
    ~FtpLogin();
    bool logIn(const QUrl&);
signals:
    void done();
private slots:
    void ftpDone(bool);
    void ftpcommandsStarted(int);
    void ftpcommandsFinished(int ,bool);
private:
    int connectId;
    int loginId;
    int closeId;
    QFtp ftp;


};
网上说没有用Q_OBJECT宏 可是我加了呀 ?
请大家帮忙看一下有什么问题
离线nmiirq

只看该作者 1楼 发表于: 2008-09-30
把connect语句贴出来see一see!
离线lazybone
只看该作者 2楼 发表于: 2008-09-30
对  多贴代码 帮顶
离线破烂石头
只看该作者 3楼 发表于: 2008-10-01
Re:Object::connect:No such  slot
connect里slot和signal都要带完整的参数列表,比如connect(widget1, SIGNAL(finished(bool)), widget2, SLOT(ftpDone(bool)));
SLOT的参数个数可以比SIGNAL的少,比如connect(widget1,SGINAL(sig(bool, int)), widget2, SLOT(ftpDone(bool)));
离线gwjx
只看该作者 4楼 发表于: 2011-03-19
Re:Object::connect:No such  slot
我也遇到了这样的情况:
在类里面定义了:
public slots:
    void move_slot(int Number,int first, int final,int temp);
    void steps(void);
在cpp文件里写了实现。然后在调用的时候:
    connect(ui->pushButton, SIGNAL(clicked()),
            this, SLOT(move_slot(ui->spinBox->value(),1, 3, 2)));

编译后可以运行,就是提示:
Object::connect: No such slot Hanio::move_slot(ui->spinBox->value(),1, 3, 2) in ../Hanio/hanio.cpp:33
[ 此帖被gwjx在2011-03-19 11:50重新编辑 ]
离线roywillow

只看该作者 5楼 发表于: 2011-03-19
Re:Object::connect:No such  slot
好像LS那种用slot的方法是不行的……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个