Как избежать появления окна консоли в приложении Qt, даже после включения пакета "testlib" (для qWait ()) в мой файл .pro? - PullRequest
2 голосов
/ 10 августа 2010

Привет всем,

Я перебрал различные темы на эту тему, но, кажется, ничто не решает мою конкретную проблему.Включая testlib, заставляет окно консоли появляться, и там я не нашел никакой возможности подавить это поведение.

Но мое приложение все еще требует присутствия testlib (потому что я очень хотел использовать метод QTest :: qWait ())и нет окна консоли, чтобы появиться.Я пробовал несколько вариантов из других тем, но ничего не работает.Что я должен сделать, чтобы отключить это окно консоли даже после использования 'testlib?'

    QT += gui \    
        xml \
        core \
        testlib    
    CONFIG += qt \
        windows \
        uitools \
        release        
    CONFIG -= console        
    LIBS += extern/ftd2xx.lib        
    RC_FILE = res/AC-Core.rc        
    QMAKE_CXXFLAGS += -Wall \

редактирование файла qmake.conf, строки

QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console, to    
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,windows

Любые другие идеи по подавлению появления окна консоли:Добро пожаловать?

Спасибо!

1 Ответ

0 голосов
/ 15 сентября 2010

Вам не нужно использовать QTest, чтобы получить функциональность QTest::qWait().Если вы посмотрите на исходный код qWait(), вы сможете увидеть, как он работает, и реализовать эту функцию самостоятельно:

inline static void qWait(int ms)
{
    Q_ASSERT(QCoreApplication::instance());

    QTime timer;
    timer.start();
    do {
        QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
        QTest::qSleep(10);
    } while (timer.elapsed() < ms);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...