• 5684阅读
  • 3回复

关于exec()和processEvents() [复制链接]

上一主题 下一主题
离线溟阡
 
只看楼主 倒序阅读 楼主  发表于: 2010-06-22
— 本帖被 xtfllbl 执行合并操作(2010-06-22) —
为了实现某些特定功能,我把程序的最后一句return app.exec()用以下代码替代了:
while(1){
     app.processEvents();
     //功能代码;
}
可是这样之后程序可以正常运行但是CPU的占用总是在100%,请问下如何才能解决?
麻烦高手指点下~谢谢~
离线溟阡
只看该作者 1楼 发表于: 2010-06-22
关于exec()和processEvents()
为了实现某些特定功能,我把程序的最后一句return app.exec()用以下代码替代了:
while(1){
     app.processEvents();
     //功能代码;
}
可是这样之后程序可以正常运行但是CPU的占用总是在100%,请问下如何才能解决?
麻烦高手指点下~谢谢~
离线xtfllbl

只看该作者 2楼 发表于: 2010-06-22
你的程序是否牵扯到大型计算,如果有100%那是正常,单从你给出的代码,无法判断任何东西。
上海欢迎您
离线dstorm
只看该作者 3楼 发表于: 2010-06-22
#include <QThread>


class QSleep: public QThread
{
public:
         static void sleep(unsigned long t)
          {
               QThread::sleep(t);
         }
};

while( 1 ){
     if ( app.hasPendingEvents() )
     {
            app.processEvents();
     }
    else
    {
     QSleep::sleep(1);
    }
}
[ 此帖被dstorm在2010-06-22 16:38重新编辑 ]
快速回复
限100 字节
 
上一个 下一个