首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

触发定时器的小疑点,很简单

2013-02-24 
触发定时器的小问题,很简单Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui-se

触发定时器的小问题,很简单


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    QTimer *t1 = new QTimer(this);

    connect(t1, SIGNAL(timeout()), this, SLOT(TimerUpData()));

    //t1->start(100);  放在这里就正常
}


void Widget::on_pushButton_clicked()
{

    Widget::t1->start();//放在这里,程序可以运行,但是单击按钮会卡死退出

}


为什么? 谢谢
[解决办法]
引用:
引用:QTimer *t1应该写在头文件里,声明为类变量。
否则离开构造函数,t1就不存在了,实际上timer还在,但是t1没有意义了。

C/C++ code?123private:    Ui::Widget *ui;    QTimer *t1;
这样算不算?

当然算,但是一定要把构造函数里的QTimer *t1 = new...改为 t1 = new...

热点排行