Aus*_*yde 0 c++ qt qt4 signals-slots
我最近一直在努力学习C++和Qt4,但我遇到了绊脚石.
我有以下类和实现:
class Window : public QWidget
{
public:
Window();
public slots:
void run();
private:
//...
};
Run Code Online (Sandbox Code Playgroud)
和
Window::Window()
{
//...
connect(runBtn,SIGNAL(clicked()),this,SLOT(run()));
//...
}
Window::run()
{
//...
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试构建并运行它时,尽管它构建得很好,它会立即退出并显示消息
Object::connect: No such slot QWidget::run()
Run Code Online (Sandbox Code Playgroud)
除非我做错了什么,否则Qt似乎没有认识到这个问题 run()
有人可以帮忙吗?
更新:
代码现在是:
class Window : public QWidget
{
Q_OBJECT
public:
Window(QWidget *parent = 0);
public slots:
void run();
private:
//...
};
Run Code Online (Sandbox Code Playgroud)
和
Window::Window(QWidget *parent) : QWidget(parent)
{
//...
connect(runBtn,SIGNAL(clicked()),this,SLOT(run()));
//...
}
Window::run()
{
//...
}
Run Code Online (Sandbox Code Playgroud)
该程序仍"意外完成",但不再告诉我没有这样的事情 QWidget::run()
您可能忘记了Window类中的Q_OBJECT宏?
class Window : public QWidget
{
Q_OBJECT
public:
Window()
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2759 次 |
| 最近记录: |