• 6265阅读
  • 16回复

[提问]怎么实现窗口的展开? [复制链接]

上一主题 下一主题
离线wk5882846
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-16
我用代码:
     groupBox->hide();
         connect(moreButton,SIGNAL(clicked()),groupBox,SLOT(setVisible(bool)));
最后窗口出来了group是看不见了,点more没有用啊?
asd
离线roywillow

只看该作者 1楼 发表于: 2011-11-16
我甚是怀疑这个connect真的能成功执行么……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线wk5882846

只看该作者 2楼 发表于: 2011-11-16
回 1楼(roywillow) 的帖子
为什么不能执行?
要把信号换成 toggled(bool)呢?
我试了 也不行
asd
离线wk5882846

只看该作者 3楼 发表于: 2011-11-16
回 1楼(roywillow) 的帖子
0.0
我忘记写 Q_OBJECT了
asd
离线wk5882846

只看该作者 4楼 发表于: 2011-11-16
回 1楼(roywillow) 的帖子
我把Q_OBJECT加上就报错。
defined referen to ‘XXX’

你能告诉该怎么实现窗口展开这一点么?
要注意哪些点?
asd
离线roywillow

只看该作者 5楼 发表于: 2011-11-16
说实话我都不知道你在搞什么……

Q_OBJECT是在类的声明里才要加上的,并且类要继承自QObject
信号和槽关联的时候,你至少要保证槽的各个参数被填满,也就是说,信号的参数量要大于等于槽的参数量,且类型严格匹配,要不你让人家槽干什么去……卧槽去么……
就你的需要来看,是要跟show()槽connect的

另外把各个信号的作用搞清楚吧先……

C++ GUI Qt4中的例子?那本书应该写的最清楚不过了……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线wk5882846

只看该作者 6楼 发表于: 2011-11-16
回 5楼(roywillow) 的帖子
我照着那里面的例子做了就能实现展开。就是那个sort的例子。
现在我想自己写一个,只要他里面实现展开的语句,来做一个能展开的窗口。
说白了就是想弄清楚怎样实现展开。
可是我写的就是展不开。
hide以后,点那个用来展开键的就没用。
信号槽的那个我搞清楚了。
其实用qt desinger是可以搞定信号槽的。
可是展不开啊
asd
离线roywillow

只看该作者 7楼 发表于: 2011-11-16
回 6楼(wk5882846) 的帖子
明明就是把按钮的click信号跟box的show()槽关联啊,这个没什么难的啊
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 8楼 发表于: 2011-11-16
回 6楼(wk5882846) 的帖子
setCheckable ( bool )   先用这个函数设置按钮可以check
void    toggled ( bool checked ) [信号]

connect(moreButton,SIGNAL(void    toggled ( bool )),groupBox,SLOT(setVisible(bool)));
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线wk5882846

只看该作者 9楼 发表于: 2011-11-16
回 7楼(roywillow) 的帖子
那样的话,再点一下more就不能再把它隐藏起来。
跟我们平常用的软件上的那种窗口都不一样。
asd
离线wk5882846

只看该作者 10楼 发表于: 2011-11-16
回 8楼(jdwx) 的帖子
有点不懂诶..
怎么设置?

书上那个例子就值用了个信号toggled(bool) 槽 setVisible(bool)
就搞定了。
书上是怎么实现的?

是不是还跟布局什么的有关?
asd
离线jdwx

只看该作者 11楼 发表于: 2011-11-16
回 10楼(wk5882846) 的帖子
无非就是隐藏控件,减小窗口高度
显示控件,恢复窗口高度
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 12楼 发表于: 2011-11-16
其实窗口的高度是自动让布局进行处理的,所以我们什么都不用做只要负责显示和隐藏就好了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线roywillow

只看该作者 13楼 发表于: 2011-11-16
如果是点一下还能隐藏的话
那就让那个button变为isCheckable,然后toggled信号跟setVisible信号连接
因为toggled信号中的参数是代表了按钮当前的状态,即是否为按下去的,正好setVisible接受的参数与其对应,所以效果就实现了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线wk5882846

只看该作者 14楼 发表于: 2011-11-16
回 13楼(roywillow) 的帖子
两位大神..搞成了
要不加哈QQ吧..
以后问着也方便些。
我QQ454952712
你们呢
asd
离线roywillow

只看该作者 15楼 发表于: 2011-11-16
不随便加QQ的路过

其实在这里dbzhang等人才是……我就是个打酱油的……
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线wk5882846

只看该作者 16楼 发表于: 2011-11-16
回 11楼(jdwx) 的帖子
两位大神..搞成了
要不加哈QQ吧..
以后问着也方便些。
我QQ454952712
你们呢
asd
快速回复
限100 字节
 
上一个 下一个