当前位置: 代码迷 >> QT开发 >> 触发定时器的小疑点,很简单
  详细解决方案

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

热度:16   发布时间:2016-04-25 04:06:35.0
触发定时器的小问题,很简单

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...
  相关解决方案