• 5134阅读
  • 1回复

如何让Qt应用程序只有一个实例-原帖发错位置了 [复制链接]

上一主题 下一主题
离线numen
 

只看楼主 倒序阅读 楼主  发表于: 2010-07-26


在实际应用中,我们经常需要让应用程序只有一个实例,再打开新的文档或者页面时,只是替换现在的窗口或者新打开一个标签,而不是重新启动一次应用程序。Qt中是否可以做到这样呢,答案是肯定的,因为Qt本身可以直接调用系统API,肯定可以做到,但是我们希望找到一个跨平台的通用的解决方案。
      这就要用到Qt的QLocalSocket,QLocalServer类了,这两个类从接口上看和网络通信socket没有区别,但是它并不是真正的网络API,只是模仿了而已。这两个类在Unix/Linux系统上采用Unix域socket实现,而在Windows上则采用有名管道(named pipe)来实现。
更详细内容见:
http://www.cnblogs.com/baizx/archive/2010/07/25/1784633.html
欢迎访问我的blog:
http://www.cnblogs.com/baizx
离线dbzhang800

只看该作者 1楼 发表于: 2010-07-26
引用楼主numen于2010-07-26 10:07发表的 如何让Qt应用程序只有一个实例-原帖发错位置了 :
在实际应用中,我们经常需要让应用程序只有一个实例,再打开新的文档或者页面时,只是替换现在的窗口或者新打开一个标签,而不是重新启动一次应用程序。Qt中是否可以做到这样呢,答案是肯定的,因为Qt本身可以直接调用系统API,肯定可以做到,但是我们希望找到一个跨平台的通用的解决方案。
      这就要用到Qt的QLocalSocket,QLocalServer类了,这两个类从接口上看和网络通信socket没有区别,但是它并不是真正的网络API,只是模仿了而已。这两个类在Unix/Linux系统上采用Unix域socket实现,而在Windows上则采用有名管道(named pipe)来实现。
更详细内容见:
.......

http://qt.nokia.com/products/appdev/add-on-products/catalog/4/Utilities/qtsingleapplication/
快速回复
限100 字节
 
上一个 下一个