实现方案
实现代码
下面给出了LocalServer方式的实现代码。
#ifndef SINGLEAPPLICATION_H
#define SINGLEAPPLICATION_H
#include <QObject>
#include <QApplication>
#include <QtNetwork/QLocalServer>
#include <QWidget>
class SingleApplication : public QApplication {
Q_OBJECT
public:
SingleApplication(int &argc, char **argv);
bool isRunning(); // 是否已經有实例在运行
QWidget *w; // MainWindow指针
private slots:
// 有新连接时触发
void _newLocalConnection();
private:
// 初始化本地连接
void _initLocalConnection();
// 创建服务端
void _newLocalServer();
// 激活窗口
void _activateWindow();
bool _isRunning; // 是否已經有实例在运行
QLocalServer *_localServer; // 本地socket Server
QString _serverName; // 服务名称
};
#endif // SINGLEAPPLICATION_H
调用示例:
#include "MainWindow.h"
#include "SingleApplication.h"
int main(int argc, char *argv[]) {
SingleApplication a(argc, argv);
if(!a.isRunning()) {
MainWindow w;
a.w = &w;
w.show();
return a.exec();
}
return 0;
}
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点