最近一直在学习C++和Qt4,但是遇到了一个绊脚石。
我有以下类和实现:
class Window : public QWidget
{
public:
Window();
public slots:
void run();
private:
//...
};
和
Window::Window()
{
//...
connect(runBtn,SIGNAL(clicked()),this,SLOT(run()));
//...
}
Window::run()
{
//...
}
但是,当我尝试构建并运行它时,虽然它构建得很好,但它会立即退出并显示消息
Object::connect: No such slot QWidget::run()
除非我做错了什么,否则 Qt 似乎无法识别插槽run()
有人可以帮忙吗?
更新:
现在的代码是:
class Window : public QWidget
{
Q_OBJECT
public:
Window(QWidget *parent = 0);
public slots:
void run();
private:
//...
};
和
Window::Window(QWidget *parent) : QWidget(parent)
{
//...
connect(runBtn,SIGNAL(clicked()),this,SLOT(run()));
//...
}
Window::run()
{
//...
}
程序仍然“意外完成”,但不再告诉我没有这样的事情QWidget::run()