当前位置: 代码迷 >> QT开发 >> 关于QFrame显示的有关问题。
  详细解决方案

关于QFrame显示的有关问题。

热度:41   发布时间:2016-04-25 04:42:47.0
关于QFrame显示的问题。。。
如图:


1.父窗口 Widget (A),注册全局按键 F12。

2.子窗口 Widget (B),里面有N多的按钮。B全屏显示。

3.通过单击B上按钮,弹出自定义QFrame框架。如图中 绿色圈如的那个QFrame,

QMyFrame 继承QFrame类,添加了Label,QPushButton 等,
属性 setWindowFlags(Qt::Popup | Qt::Window);

1.QMyFrame是居中显示,当鼠标单击QMyFrame框架外的区域,该QMyFrame会自动关闭,求详解下!

2.按键F12,也会出现了QMyFrame自动关闭,求详解!!

QMyFrame框架显示,为啥会有这么多的自动关闭现象?求解答。。


------解决方案--------------------
setWindowFlags(Qt::Popup | Qt::Window);因为LZ设置了他的属性是“弹出式的”(popup),焦点离开之后最自己弹回去隐藏的,不用这个这个属性也没事 重写F12设置可见不可见就可以了
------解决方案--------------------
F12也是这个原因呀 按下F12的时候焦点传给给其他的组件, QFrame是弹出式的 失去焦点就会关闭,LZ可以不设置他为Qt::Popup格式就可以了
------解决方案--------------------
在L上的按钮只是负责显示出来就行了 setVisible( true ); setGeometry( 位置 )就可以了,要隐藏的时候 setVisible( false )
------解决方案--------------------
C/C++ code
QVBoxLayout *vBox = new QVBoxLayout(this);//要设置布局管理器的父对象
  相关解决方案