调用Qt::FramelessWindowHint与winId()出现问题

hjl0508 2015-01-04 11:19:16
我需要做一个无边框的窗体调用了Qt::FramelessWindowHint,然后在窗体里有一个窗口调用SDL需要用到winId()这个函数,不过我发现当这两个东西同时出现时会引起一些问题,就是我设置了整个窗体的拖动事件,而且自己定义了关闭和最小化按钮,是在网页上实现的,但是当这两个同时加载时会导致有一部分区域失效,但是能看到那部分的东西。

如图红色的部分会失效,左边的黑框是调用的SDL 右边是其他的。红色区域就像被覆盖一样网页上的按钮什么的都没用了,也无法拖动,但是当我调试时有时候是ok的。当红色区域加载时会有一个类似大的白色按钮的区域一闪这时这个区域就会有效,但是直接点击运行那一块就失效了。。。有没有人有这方面的办法。。。
...全文
2364 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
Qt.Window|Qt.FramelessWindowHint
coder-HRQ 2017-01-10
  • 打赏
  • 举报
回复
我也遇到类似的问题,我是使用系统的全屏函数就会产生类似的问题,然后自己实现全屏就不会了,可能是系统全屏后某些属性被改了。就像你调用Qt::FramelessWindowHint一样,你把边框一个个去掉试试。 //设置主对话框 setWindowFlags(Qt::CustomizeWindowHint); ui.menuBar->hide(); ui.mainToolBar->hide(); ui.statusBar->hide(); setGeometry(0, 0, QApplication::desktop()->width(), QApplication::desktop()->height());
饭特稀特别稀 2015-12-04
  • 打赏
  • 举报
回复
请问这个BUG 官方解决了吗。我现在的情况和你类似,版本5.5.0
hjl0508 2015-01-06
  • 打赏
  • 举报
回复
这是一个bug请看这个帖子 http://bbs.csdn.net/topics/390966357
hjl0508 2015-01-05
  • 打赏
  • 举报
回复
是menubar的问题,应该是menubar挡住了后面的东西,去掉menubar就好了

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧