|
我使用Qt的窗口,渲染OSG场景,我仿照examples封装成一个ViewerWidget,非全屏状态下它工作正常,假如不给他设置父窗口,他也可以全屏。
我的项目中,我把ViewerWidget设置成QMainWindow的centralWidget,它能正常的工作,但我想全屏显示这个场景的时候,就没办法了。全屏后ViewerWidget就变成白的了。
我跟踪调试注意到,ViewerWidget有parent的情况下,改变他的flags(从Qt::SubWindow改成Qt::Window)会调用void QWidget::setParent ( QWidget * parent, Qt::WindowFlags f )这个函数,应该是这个函数里做了什么修改。
其实根源不是全屏的问题,只要改变ViewerWidget的parent或者flags,都会导致ViewerWidget不能正常工作。
我看到BBS里也有一些同学问过同样的问题,但没有得到很好的答案。
ViewerWidget工作很正常,我仿照的是Array的例子,包括测试了osgEarth里的ViewerWidget。
我目前的代替方案是,将QMainWindow showFullScreen() ,然后隐藏工具栏 菜单栏等其他界面。
不知道哪位同学成功实现过Qt的全屏功能,欢迎讨论。 |
|