的Qt v4.8.0,VC2010编译Qt的连接“没有这样的插槽”当插槽肯定是存在的
我有一个基于的QMainWindow类,我想将其发送信号涉及QUuid
然而,每一次我运行它,我得到的错误:
Object::connect: No such slot MainWindow::on_comp_connected(QUuid) in ..\..\src\mainwindow.cpp:143
Object::connect: (receiver name: 'MainWindow')
它的驾驶我便盆的插槽肯定是存在的(它在moc_)
class MainWindow : public QMainWindow
{
Q_OBJECT
// SNIP private typedefs
public:
MainWindow(QWidget *parent = 0, Qt::WFlags flags = 0);
~MainWindow();
// SNIP public methods
signals:
void testSendQuuid(const QUuid &qcid);
public slots:
void on_comp_connected(const QUuid &qcid);
private:
// SNIP private parts
QOpenAcnController *acnInt; // This is where the signal comes from
};
在主窗口的构造函数(自提线143)我的结尾:
connect(acnInt, SIGNAL(callback_comp_connected(QUuid)),
this, SLOT(on_comp_connected(QUuid)));
鉴于插槽绝对有在moc_mainwindow.cpp(我查了一下,它的槽#1),有什么在地球上可能会阻止连接发生?
如果我尝试将testSendQuuid(QUuid)信号连接到插槽,我不会收到这样的信号,也没有这样的插槽。
我不能为了我的生活找出为什么Qt否认存在一个最肯定有!
你已经尝试过'干净','运行qmake','build'序列吗?有时候Qt生成的'make'文件会变得混乱。 –
是的,我试过的第一件事! 我曾经有过几次qmake或moc感到困惑(通常是在将一个类提升为一个QObject后代时,它以前不是)。在这种情况下,它没有任何区别。 – Richard1403832
那些私人typedefs是什么? –