• 7986阅读
  • 13回复

[提问]关于QFrame显示出来的问题。。。 [复制链接]

上一主题 下一主题
离线shen_wei
 
只看楼主 倒序阅读 楼主  发表于: 2012-06-11
QFrame 窗口是通过,父窗口的单击事件显示出来的!
  
  父窗口全屏显示,按钮单击 --》弹出QFrame,并且居中显示。

要求:1 ,QFrame没有覆盖完父窗口,要求只能单击该QFrame窗口。2,在QFrame窗口显示时,可以使用父窗口的全局按键 F12 或者有MessageBox弹出!

请教这样的QFrame应该如何实现。。。



离线benbenmajia

只看该作者 1楼 发表于: 2012-06-11
给你提出解决方案,自己去做
1,添加event filter控制按键之间,作为widget内部全局处理的起始。
2,作为子widget,不能点击主窗口你可以再把QFrame放在一个透明的widget中,然后将此widget作为父窗口的子窗口。
安然.....
离线shen_wei
只看该作者 2楼 发表于: 2012-06-12
有没有简单些的方法。。。。

popup类型的QFrame可以实现  问题1,

全局的按键就不行了。。求下问题2的解决方法!!!

离线benbenmajia

只看该作者 3楼 发表于: 2012-06-12
你所说的popup类型起始就是和dialog是类似的exec阻塞型窗口。
第二个可以用事件过滤器啊,把子窗口install进父窗口的eventfilter里面,试试看。
安然.....
离线shen_wei
只看该作者 4楼 发表于: 2012-06-12
回 3楼(benbenmajia) 的帖子
QFrame是 Popup|window 类型。。

因为F12 是MessageBox类型的对话窗,QFrame失去了焦点,就隐藏了。。

如何才能使F12既能显示,QFrame有不隐藏。。。
离线benbenmajia

只看该作者 5楼 发表于: 2012-06-12
回 4楼(shen_wei) 的帖子
你说的不隐藏是什么样的不隐藏。
安然.....
离线shen_wei
只看该作者 6楼 发表于: 2012-06-12
回 5楼(benbenmajia) 的帖子
QFrame是 Popup|window 类型。。

当QFrame 失去焦点时,该QFrame就关闭了。。也就是没有了!

父窗口全屏显示,按钮单击 --》弹出QFrame,并且居中显示。

QFrame类似在屏幕中心的菜单。。当按下F12时,QFrame这个菜单关闭了,明显不行的!!
离线benbenmajia

只看该作者 7楼 发表于: 2012-06-12
还是没太明白,不过你这需求似乎不需要必须用这些widget,自己自定义是最好的。
安然.....
离线shen_wei
只看该作者 8楼 发表于: 2012-06-12
回 7楼(benbenmajia) 的帖子

父窗口全屏显示,按钮单击 --》弹出QFrame,并且居中显示。

F12 弹出QMessageBox,并且QmessageBox显示在QFrame之上。。

现在 QFrame  是Popup|window 类型。在弹出QMessageBox时,因为失去焦点QFrame关闭了。。

实现的是 主窗口-》QFrame-》QMessageBox
离线benbenmajia

只看该作者 9楼 发表于: 2012-06-12
回 8楼(shen_wei) 的帖子
必须使用QFrame么》
安然.....
离线shen_wei
只看该作者 10楼 发表于: 2012-06-13
回 9楼(benbenmajia) 的帖子
是啊.。。。如果不用哪该怎么解决 哪???
离线benbenmajia

只看该作者 11楼 发表于: 2012-06-13
回 10楼(shen_wei) 的帖子
如果功能确定的话,不是必须使用什么什么控件才可以的,个人看来,因为功能的差异需要自己去实现一些widget才更符合需求,具体参考我的前几条回复。
安然.....
离线shen_wei
只看该作者 12楼 发表于: 2012-06-13
回 11楼(benbenmajia) 的帖子
感谢你。。用的是另外的方法实现的!!!
离线passion_wu
只看该作者 13楼 发表于: 2012-06-13
使用事件过滤器是最好的咯。
快速回复
限100 字节
 
上一个 下一个