在工作中遇到程序只允许运行一次,若程序已运行,则不会重复运行。因此使用到了 qtsingleapplication 解决方案,下面是我使用的一些总结。
步骤一:下载 qtsingleapplication 源码,源码地址 。
步骤二:在 Qt 工程项目中添加 qtsingleapplication 源码,include(../../src/qtsingleapplication.pri) 。
步骤三:在 main.cpp 中使用。
#include "mainwindow.h"
#include <qtsingleapplication.h>
int main( int argc, char **argv )
{
QtSingleApplication app("my QtSingleApplication", argc, argv);
QString message = QString("applition is running");
if ( app.sendMessage(message) )
return 0;
MainWindow mainwindow;
mainwindow.show();
QObject::connect( &app, &QtSingleApplication::messageReceived,
&mainwindows, &MainWindow::slot_messageReceived );
return app.exe();
}