Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Catch2与QT事件循环集成?_Qt_Catch2 - Fatal编程技术网

如何将Catch2与QT事件循环集成?

如何将Catch2与QT事件循环集成?,qt,catch2,Qt,Catch2,QT的某些部分依赖于事件循环的启动和运行(或者至少生成警告)。如何将Catch2测试与QT事件循环集成?要集成,添加一个一次性计时器将使函数在应用程序事件循环激活后立即运行。下面是我的代码的样子: #define CATCH_CONFIG_RUNNER #include "catch.hpp" #include <QCoreApplication> #include <QTimer> int main(int argc, char *argv[]) { QCoreAp

QT的某些部分依赖于事件循环的启动和运行(或者至少生成警告)。如何将Catch2测试与QT事件循环集成?

要集成,添加一个一次性计时器将使函数在应用程序事件循环激活后立即运行。下面是我的代码的样子:

#define CATCH_CONFIG_RUNNER
#include "catch.hpp"
#include <QCoreApplication>
#include <QTimer>
int main(int argc, char *argv[]) {
  QCoreApplication app(argc, argv);
  QTimer::singleShot(0, [&]{
    app.exit(Catch::Session().run(argc, argv));
  });
  return app.exec();
}
\define CATCH\u CONFIG\u RUNNER
#包括“catch.hpp”
#包括
#包括
int main(int argc,char*argv[]){
QCore应用程序应用程序(argc、argv);
QTimer::单发(0,[&]{
退出(Catch::Session().run(argc,argv));
});
返回app.exec();
}
特别是对我来说,我收到了一堆警告,“QSocketNotifier只能用于以QThread启动的线程”,但事实证明,这实际上意味着它希望存在一个事件循环。这里的代码为我删除了警告