版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hejinjing_tom_com/article/details/87935360
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();
}