QTimer 的使用

QTimer *m_timer = new QTimer();
m_timer->start();

运行时出现
QObject::startTimer: QTimer can only be used with threads started with QThread
网上搜了一下,怎么写得一大堆都看不懂呢,自己追查吧。

这是使用QTimer 不当报出的一个警告,到底那里使用不当呢?
我平时都是这样用的呢 ,没有问题的.
经过仔细追查,发现了差别. 原来报这个错误是我用的普通的c语言架构
int main()
{

    QTimer *m_timer = new QTimer();
    m_timer->start();
    while(1)
    {
    }
    return 0;
}

而正确的使用应该是用QT 的主程序框架, 就是说QTimer 必需要有QApplication 框架才能驱使它工作,
哎! 那个英文说得总是云里雾里的. 正确使用如下所示!
int main(int argc, char *argv[])
{
    QApplication *app = new QApplication(argc,argv);
    QTimer *m_timer = new QTimer();
    m_timer->start();
    return app->exec();
}

 

你可能感兴趣的:(qt,编程)