• 9663阅读
  • 11回复

[讨论]QT中怎么实现单实例模式 [复制链接]

上一主题 下一主题
离线zswx0226
 

只看楼主 倒序阅读 楼主  发表于: 2012-10-10
关键词: 单实例模式
QT中怎么实现实例模式',this.id)" style="cursor:pointer;border-bottom: 1px solid #FA891B;" id="rlt_1">单实例模式?
还有QT中两个窗口怎么实现绑定,也就是当一个窗口移动时,另一个窗口跟着移动
离线roywillow

只看该作者 1楼 发表于: 2012-10-10
回 楼主(zswx0226) 的帖子
Qt Solutions提供过QtSingleApplication这个类
至于第二个问题,暂时不知道有没有什么简单的解决方法
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线kimtaikee

只看该作者 2楼 发表于: 2012-10-11
第一个那是纯C++问题,第二个你倒是用signal-slot处理啊

离线roywillow

只看该作者 3楼 发表于: 2012-10-11
回 2楼(kimtaikee) 的帖子
你是说……单件模式?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zswx0226

只看该作者 4楼 发表于: 2012-10-11
回 1楼(roywillow) 的帖子
怎么实现的?
离线xlttap

只看该作者 5楼 发表于: 2012-10-11
你都知道单例模式这个概念, 还不会实现? 看来你根本就不知道单例模式的真正含义。 知道了用什么语言实现都是一个道理。
1. 设置一个指针为static,  比如:static ClassA *a; // 请问楼主:为什么要用static ?
2. 把构造函数设为private, 这个在别的类就不可以构造改类, 比如:
private:       // 请问楼主:知道为什么要设置为private吗?
    ClassA();
3. 提供一个static类型的getInstance()函数,用来得到类的实例。 比如;
ClassA* ClassA::getInstance() {
       if (!a) a = new ClassA();  // 请问楼主, 为什么要这样写?

        // do something else

      return a;
}

楼主如果明白了上面三个为什么, 就应该知道单例模式怎么写了。
我简单我快乐
离线xlttap

只看该作者 6楼 发表于: 2012-10-11
至于第二个问题, 那就更简单了。 唉。。。
我简单我快乐
离线roywillow

只看该作者 7楼 发表于: 2012-10-11
回 4楼(zswx0226) 的帖子
参考dbzhang大人的博客
http://blog.csdn.net/dbzhang800/article/details/6449874
以及他提供的参考链接
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zswx0226

只看该作者 8楼 发表于: 2012-10-13
回 5楼(xlttap) 的帖子
第一个问题是:static是为了共用内存空间
第二个对象是:防止在类外构造这类的对象,而只能通过static类型的getInstance()来得到一个给类的对象
第三个问题是:只有当a的指针空时才构造一个实例对象,当指针非空时已存在这个对象,就直接返回这个对象
豁然开朗啊,以前没写过这样的东西,不太了解,不知道我回答的对不?
离线zswx0226

只看该作者 9楼 发表于: 2012-10-14
回 5楼(xlttap) 的帖子
可以,实现了
离线zswx0226

只看该作者 10楼 发表于: 2012-10-14
回 7楼(roywillow) 的帖子
谢谢哦,很详细,可以理解,好东西
离线ninsun

只看该作者 11楼 发表于: 2012-10-14
很多东西果真是要自己写一写才能明白哈
快速回复
限100 字节
 
上一个 下一个