QTSingleApplication类用于程序只实例化一次, 需要自行将类添加至自己的工程中, 依赖于QtNetwork模块.
在pro文件添加
QT += network
- 添加源码到工程
将QTSingleApplication解压,将解压后目录拷贝到当前项目路径下,在项目pro文件中增加下面这行
include(qtsingleapplication/qtsingleapplication.pri)
- 修改main.cpp,将以前QApplication改为QtSingleApplication
#include <QApplication>
#include "qtsingleapplication.h"
#include "mainwindow.h"
#include <QMessageBox>
int main(int argc, char *argv[])
{
QtSingleApplication a("dvl3000", argc, argv);
if(a.isRunning()){
QMessageBox msgBox;
msgBox.setText("程序已经运行!");
msgBox.exec();
a.sendMessage("raise_window_noop", 1000);
return EXIT_SUCCESS;
}
MainWindow w;
a.setActivationWindow(&w);
w.show();
return a.exec();
}