代码如下:#include "mainwindow.h"
#include#includeint x=100;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
{
setupUi(this);
QTimer *timer_sys=new QTimer(this);
connect(timer_sys,SIGNAL(timeout()),this,SLOT(T_update()));
timer_sys->start(1000);
}
void MainWindow::T_update()
{
x--;
printf("%d",x);
}运行的时候总是提示: “T_update”: 不是“MainWindow”的成员, 请问应该如何修改?另外,该例子中定义了一个外部变量x,如果在MainWindow::T_update()函数里里面使用,没有问题;但是如果在MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)使用,会提示:“QWidget::x”: 函数调用缺少参数列表;请使用“&QWidget::x”创建指向成员的指针, 请问是怎么回事?
------解决思路----------------------
1.首先你这个槽函数定义了么?
2.如果定义了,你在头文件这个类声明的最开始加了Q_OBJECT没有?
如图:

3.外部变量不是你那样用的,你可以定义在该源文件对应的头文件中,或者新建一个头文件定义,然后引入这个头文件,就可以进行使用了。