亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? qeventloop.cpp

?? QT 開發(fā)環(huán)境里面一個很重要的文件
?? CPP
字號:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtCore module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "qeventloop.h"#include "qabstracteventdispatcher.h"#include "qcoreapplication.h"#include "qdatetime.h"#include "qobject_p.h"#include <private/qthread_p.h>class QEventLoopPrivate : public QObjectPrivate{    Q_DECLARE_PUBLIC(QEventLoop)public:    inline QEventLoopPrivate()        : exit(true), inExec(false), returnCode(-1)    { }    bool exit, inExec;    int returnCode;};/*!    \class QEventLoop    \brief The QEventLoop class provides a means of entering and leaving an event loop.    At any time, you can create a QEventLoop object and call exec()    on it to start a local event loop. From within the event loop,    calling exit() will force exec() to return.    \sa QAbstractEventDispatcher*//*!    \enum QEventLoop::ProcessEventsFlag    This enum controls the types of events processed by the    processEvents() functions.    \value AllEvents All events are processed    \value ExcludeUserInputEvents Do not process user input events,    such as ButtonPress and KeyPress. Note that the events are not    discarded; they will be delivered the next time processEvents() is    called without the ExcludeUserInputEvents flag.    \value ExcludeSocketNotifiers Do not process socket notifier    events. Note that the events are not discarded; they will be    delivered the next time processEvents() is called without the    ExcludeSocketNotifiers flag.    \value WaitForMoreEvents Wait for events if no pending events are    available.    \value DeferredDeletion Allow objects to be queued for deletion    at a later time.    \value X11ExcludeTimers    \omitvalue ExcludeUserInput    \omitvalue WaitForMore    \sa processEvents()*//*!    Constructs an event loop object with the given \a parent.*/QEventLoop::QEventLoop(QObject *parent)    : QObject(*new QEventLoopPrivate, parent){    Q_D(QEventLoop);    if (!QCoreApplication::instance()) {        qWarning("QEventLoop: Cannot be used without QApplication");    } else if (!d->threadData->eventDispatcher) {        QThreadPrivate::createEventDispatcher(d->threadData);    }}/*!    Destroys the event loop object.*/QEventLoop::~QEventLoop(){ }/*!    Processes pending events that match \a flags until there are no    more events to process. Returns true if pending events were handled;    otherwise returns false.    This function is especially useful if you have a long running    operation and want to show its progress without allowing user    input; i.e. by using the \l ExcludeUserInputEvents flag.    This function is simply a wrapper for    QAbstractEventDispatcher::processEvents(). See the documentation    for that function for details.*/bool QEventLoop::processEvents(ProcessEventsFlags flags){    Q_D(QEventLoop);    if (!d->threadData->eventDispatcher)        return false;    return d->threadData->eventDispatcher->processEvents(flags);}/*!    Enters the main event loop and waits until exit() is called.    Returns the value that was passed to exit().    If \a flags are specified, only events of the types allowed by    the \a flags will be processed.    It is necessary to call this function to start event handling. The    main event loop receives events from the window system and    dispatches these to the application widgets.    Generally speaking, no user interaction can take place before    calling exec(). As a special case, modal widgets like QMessageBox    can be used before calling exec(), because modal widgets     use their own local event loop.    To make your application perform idle processing (i.e. executing a    special function whenever there are no pending events), use a    QTimer with 0 timeout. More sophisticated idle processing schemes    can be achieved using processEvents().    \sa QApplication::quit(), exit(), processEvents()*/int QEventLoop::exec(ProcessEventsFlags flags){    Q_D(QEventLoop);    if (d->threadData->quitNow)        return -1;    if (d->inExec) {        qWarning("QEventLoop::exec: instance %p has already called exec()", this);        return -1;    }    d->inExec = true;    d->exit = false;    d->threadData->eventLoops.push(this);#if defined(QT_NO_EXCEPTIONS)    while (!d->exit)        processEvents(flags | WaitForMoreEvents | ProcessEventsFlag(QEventLoop::DeferredDeletion));#else    try {        while (!d->exit)            processEvents(flags | WaitForMoreEvents | ProcessEventsFlag(QEventLoop::DeferredDeletion));    } catch (...) {        qWarning("Qt has caught an exception thrown from an event handler. Throwing\n"                 "exceptions from an event handler is not supported in Qt. You must\n"                 "reimplement QApplication::notify() and catch all exceptions there.\n");        throw;    }#endif    QEventLoop *eventLoop = d->threadData->eventLoops.pop();    Q_ASSERT_X(eventLoop == this, "QEventLoop::exec()", "internal error");    Q_UNUSED(eventLoop); // --release warning    d->inExec = false;    return d->returnCode;}/*!    Process pending events that match \a flags for a maximum of \a    maxTime milliseconds, or until there are no more events to    process, whichever is shorter.    This function is especially useful if you have a long running    operation and want to show its progress without allowing user    input, i.e. by using the \l ExcludeUserInputEvents flag.    \bold{Notes:}    \list    \o This function does not process events continuously; it       returns after all available events are processed.    \o Specifying the \l WaitForMoreEvents flag makes no sense       and will be ignored.    \endlist*/void QEventLoop::processEvents(ProcessEventsFlags flags, int maxTime){    Q_D(QEventLoop);    if (!d->threadData->eventDispatcher)        return;    QTime start;    start.start();    while (processEvents(flags & ~WaitForMoreEvents)) {        if (start.elapsed() > maxTime)            break;    }}/*!    Tells the event loop to exit with a return code.    After this function has been called, the event loop returns from    the call to exec(). The exec() function returns \a returnCode.    By convention, a \a returnCode of 0 means success, and any non-zero    value indicates an error.    Note that unlike the C library function of the same name, this    function \e does return to the caller -- it is event processing that    stops.    \sa QCoreApplication::quit(), quit(), exec()*/void QEventLoop::exit(int returnCode){    Q_D(QEventLoop);    if (!d->threadData->eventDispatcher)        return;    d->returnCode = returnCode;    d->exit = true;    d->threadData->eventDispatcher->interrupt();}/*!    Returns true if the event loop is running; otherwise returns    false. The event loop is considered running from the time when    exec() is called until exit() is called.    \sa exec() exit() */bool QEventLoop::isRunning() const{    Q_D(const QEventLoop);    return !d->exit;}/*!    Wakes up the event loop.    \sa QAbstractEventDispatcher::wakeUp()*/void QEventLoop::wakeUp(){    Q_D(QEventLoop);    if (!d->threadData->eventDispatcher)        return;    d->threadData->eventDispatcher->wakeUp();}/*!    Tells the event loop to exit normally.    Same as exit(0).    \sa QCoreApplication::quit(), exit()*/void QEventLoop::quit(){ exit(0); }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合狠狠综合| 综合久久综合久久| 一色屋精品亚洲香蕉网站| 亚洲午夜视频在线观看| 处破女av一区二区| 日韩欧美黄色影院| 一区二区三区.www| heyzo一本久久综合| 久久久久97国产精华液好用吗| 五月天中文字幕一区二区| 一本一道综合狠狠老| 国产精品色呦呦| 国产一区二区三区免费看| 91精品国产综合久久精品app| 亚洲男女毛片无遮挡| 丰满少妇在线播放bd日韩电影| 精品三级av在线| 日韩av一区二区三区四区| 欧美日韩一级片在线观看| 亚洲男人的天堂在线观看| 99国产精品国产精品毛片| 中文字幕第一页久久| 国产成人aaa| 中文字幕乱码日本亚洲一区二区| 国产精品一级二级三级| 精品国产91九色蝌蚪| 久久精工是国产品牌吗| 欧美变态口味重另类| 美腿丝袜亚洲综合| 欧美电视剧在线观看完整版| 麻豆精品视频在线观看视频| 欧美videossexotv100| 久久精品国产色蜜蜜麻豆| 久久综合网色—综合色88| 国产福利一区二区三区在线视频| 久久综合九色综合欧美就去吻| 国产综合久久久久久鬼色 | 亚洲色图视频网| 色综合视频一区二区三区高清| 一区二区三区视频在线观看| 色妞www精品视频| 亚洲国产精品麻豆| 欧美一区二区三区啪啪| 国产曰批免费观看久久久| 欧美激情综合在线| 91免费观看视频| 亚洲综合一二区| 日韩欧美美女一区二区三区| 国产激情91久久精品导航| 自拍偷拍亚洲激情| 3d成人h动漫网站入口| 国模冰冰炮一区二区| 日韩伦理电影网| 欧美高清你懂得| 国产精品影视在线观看| 亚洲欧美二区三区| 欧美一区二区观看视频| 成人免费视频caoporn| 一区二区三区久久久| 日韩一区二区精品葵司在线| 成人高清伦理免费影院在线观看| 亚洲一二三四区不卡| 久久久久久久久久久久久久久99 | 欧美成人猛片aaaaaaa| 国产精品综合二区| 一区二区三区精品视频在线| 精品捆绑美女sm三区| 91麻豆精品视频| 久久97超碰国产精品超碰| 综合在线观看色| 精品免费一区二区三区| 97超碰欧美中文字幕| 看国产成人h片视频| 亚洲嫩草精品久久| 国产亚洲一本大道中文在线| 在线一区二区三区四区五区| 韩国三级中文字幕hd久久精品| 亚洲免费色视频| 久久婷婷国产综合国色天香| 欧美日韩激情一区二区三区| 成人国产免费视频| 国产一区啦啦啦在线观看| 亚洲a一区二区| 亚洲素人一区二区| 久久综合给合久久狠狠狠97色69| 欧美日本视频在线| 在线国产亚洲欧美| 成人激情av网| 国产成人亚洲精品青草天美| 看片网站欧美日韩| 琪琪一区二区三区| 午夜伊人狠狠久久| 一区二区三区电影在线播| 国产精品久久久久影院色老大| 久久久噜噜噜久久人人看| 51精品秘密在线观看| 欧美三级视频在线观看| 色婷婷精品久久二区二区蜜臀av| 成人av在线资源网| 国产成人午夜视频| 国产不卡视频在线播放| 国产一区二区三区观看| 久久精品99国产国产精| 麻豆91在线播放| 日本人妖一区二区| 日本亚洲欧美天堂免费| 热久久久久久久| 免费国产亚洲视频| 美国av一区二区| 韩国精品免费视频| 国产在线一区观看| 国产999精品久久久久久绿帽| 风间由美一区二区三区在线观看| 国产sm精品调教视频网站| 成年人网站91| 97精品国产露脸对白| 色网综合在线观看| 欧美日韩在线播放| 欧美日韩dvd在线观看| 欧美一区二区三区影视| 精品国免费一区二区三区| 久久久亚洲精品石原莉奈| 国产免费观看久久| 亚洲欧美激情小说另类| 午夜精品一区二区三区三上悠亚| 亚洲国产三级在线| 蜜桃av一区二区在线观看| 国产精品456| 色视频成人在线观看免| 欧美日韩激情一区| 精品国产一区二区三区久久久蜜月 | 波多野结衣中文一区| 91视频国产资源| 555www色欧美视频| 337p日本欧洲亚洲大胆精品| 国产精品美日韩| 一区二区三区不卡视频| 麻豆成人久久精品二区三区红| 国产一区二区在线影院| 成人黄色在线视频| 欧美人妖巨大在线| 国产欧美一二三区| 亚洲一级二级三级在线免费观看| 精品写真视频在线观看| 99热精品一区二区| 欧美福利视频导航| 久久精品一区八戒影视| 亚洲一区二区三区四区在线观看 | 国产精品一区不卡| 色综合久久综合网欧美综合网| 日韩一区二区三区视频在线 | 国产午夜精品福利| 一区二区三区精品视频| 国产麻豆视频精品| 欧美狂野另类xxxxoooo| 国产精品网站在线| 奇米色一区二区三区四区| av电影在线不卡| 久久综合色播五月| 午夜精品在线看| 色综合久久久久久久| 久久久久久一二三区| 午夜免费久久看| 北条麻妃一区二区三区| 日韩一二三区不卡| 亚洲综合色区另类av| 国产.欧美.日韩| 日韩美女一区二区三区四区| 亚洲欧美激情插| 大美女一区二区三区| 精品久久免费看| 日韩国产成人精品| 日本高清不卡一区| 中文字幕视频一区二区三区久| 理论片日本一区| 欧美一区二区观看视频| 亚洲成人精品一区| 91极品视觉盛宴| 亚洲欧洲制服丝袜| 成人免费视频网站在线观看| 久久色在线视频| 九九九久久久精品| 欧美一级片免费看| 麻豆精品在线观看| 日韩色视频在线观看| 日韩国产精品大片| 91精品蜜臀在线一区尤物| 婷婷综合五月天| 欧美区在线观看| 日韩1区2区日韩1区2区| 欧美区视频在线观看| 婷婷国产在线综合| 91精品国产一区二区三区| 日本成人中文字幕在线视频| 欧美久久久久中文字幕| 婷婷久久综合九色国产成人| 欧美男生操女生| 久久99精品久久久久婷婷| 精品久久久网站| 国产盗摄一区二区三区|