当前位置: 首页 > news >正文

郑州建站系统在线咨询友情链接是免费的吗

郑州建站系统在线咨询,友情链接是免费的吗,福建seo网站,网站建设的营业执照原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。 对此,Qt assistant中有相关说明: 摘抄 qt-s…

        原本项目中使用QSharedMemory的方法来判断当前是否已存在运行的实例,但在MacOS上,当程序异常崩溃后,QSharedMemory没有被正常销毁,导致应用程序无法再次被打开。

        对此,Qt assistant中有相关说明:

        摘抄 qt-solutions/qtsingleapplication at master · qtproject/qt-solutions (github.com) 实现了一个single application的类,记录下来:

main.cpp

#include "mainwindow.h"
#include "singleapplication.h"int main(int argc, char *argv[])
{CSingleApplication a(argc, argv);if (a.isRunning()) {return 0;}MainWindow w;w.show();a.setActivationWindow(&w);return a.exec();
}

singleapplication.cpp

#include "singleapplication.h"
#include <QFileInfo>
#include <QLocalSocket>
#include <QLocalServer>
#include <QWidget>CSingleApplication::CSingleApplication(int& argc, char** argv): QApplication(argc, argv)
{m_strServerName = QFileInfo(QCoreApplication::applicationFilePath()).fileName();initLocalConn();
}CSingleApplication::~CSingleApplication()
{}bool CSingleApplication::isRunning()
{return m_isRunning;
}void CSingleApplication::setActivationWindow(QWidget* w)
{m_pActivateWin = w;
}void CSingleApplication::initLocalConn()
{m_isRunning = false;QLocalSocket socket;socket.connectToServer(m_strServerName);if (socket.waitForConnected(200)) {m_isRunning = true;return;}createLocalServer();
}void CSingleApplication::createLocalServer()
{m_pLocalServer = new QLocalServer(this);connect(m_pLocalServer, &QLocalServer::newConnection, this, &CSingleApplication::onNewConnection);if (!m_pLocalServer->listen(m_strServerName)) {if (QAbstractSocket::AddressInUseError == m_pLocalServer->serverError()) {QLocalServer::removeServer(m_strServerName);m_pLocalServer->listen(m_strServerName);}}
}void CSingleApplication::activateWindow()
{if (nullptr != m_pActivateWin) {m_pActivateWin->show();m_pActivateWin->raise();m_pActivateWin->activateWindow();}
}void CSingleApplication::onNewConnection()
{if (nullptr == m_pLocalServer) {return;}QLocalSocket* socket = m_pLocalServer->nextPendingConnection();if (nullptr != socket) {socket->waitForReadyRead(300);delete socket;activateWindow();}
}

singleapplication.h

#ifndef CSINGLEAPPLICATION_H
#define CSINGLEAPPLICATION_H#include <QApplication>class QLocalServer;class CSingleApplication : public QApplication
{
public:CSingleApplication(int& argc, char** argv);virtual ~CSingleApplication() override;public:bool isRunning();void setActivationWindow(QWidget* w);private:bool          m_isRunning = false;QWidget*      m_pActivateWin = nullptr;QString       m_strServerName;QLocalServer* m_pLocalServer = nullptr;void initLocalConn();void createLocalServer();void activateWindow();private slots:void onNewConnection();
};#endif // CSINGLEAPPLICATION_H

http://www.yidumall.com/news/24165.html

相关文章:

  • 交互做的好网站seoul是韩国哪个城市
  • 开网店一个月能赚多少钱在线seo关键词排名优化
  • 推荐聊城做网站的公司百度竞价推广课程
  • 7 the wordpress中国seo网站
  • 酒吧dj做歌网站百度快照怎么打开
  • 如何联系网站站长学生个人网页制作素材
  • 包头网站网站建设南宁网络优化seo费用
  • 做投资的网站好关键词推广价格
  • 微信做兼职什么网站好seo页面内容优化
  • 外贸营销型网站建设公司北京搜索引擎优化seo专员
  • 快速制作网站seo网站推广简历
  • 重庆seo1铜陵seo
  • 大连百度推广公司有几家黄山seo公司
  • 旅游网站的网页设计百度网盘服务电话6988
  • wordpress 支持webp优化公司
  • scrm服务商seo搜索引擎
  • 武汉网站设计专业乐云seo论坛推广软件
  • 怎么做百度搜到的网站免费的seo求职信息
  • 河间做网站 申梦网络代发关键词包收录
  • 哪个网站做外贸的多上海seo怎么优化
  • 网站为什么需要备案号在线培训网站次要关键词
  • 外国网站的风格惠州百度关键词优化
  • 有什么网站可以做运动鞋线上广告投放渠道
  • vv游戏推广平台苏州搜索引擎优化
  • 互联网推广运营是干什么的草根seo视频大全网站
  • 大型网站开发视频搜一搜站长工具
  • iview做的网站北京网站优化快速排名
  • 网站建设文献文档产品推广方法
  • 济南市历城区疫情google关键词排名优化
  • 北京著名网站设计公司域名收录