QT 两种自定义sleep函数

1.使用时间轮询查看,不卡界面,但是 cpu 被占的杠杠的

    void sleep(int msec)
    {
        QTime dieTime = QTime::currentTime().addMSecs(msec);
        while( QTime::currentTime() < dieTime )
            QCoreApplication::processEvents(QEventLoop::AllEvents, 100);
    }

2.卡界面,cup占用少 

    void sleep(int msec)//自定义Qt延时函数,单位毫秒
    {
        QDateTime last = QDateTime::currentDateTime();
        QDateTime now;
        while (1)
        {
            now = QDateTime::currentDateTime();
            if (last.msecsTo(now) >= msec)
            {
                break;
            }
        }
    }

两种方法,根据情况自己选择一种使用

猜你喜欢

转载自blog.csdn.net/hss2799/article/details/110624627