关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/128592671
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

Qt开发专栏:各种问题解决(点击传送门)

海思开发专栏


问题

  在开发海思Hi3516使用某版本sdk的时候,对话框旋转位置错位,透明背景色错误以及设置阴影对话框不显示的问题。
  关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案_第1张图片


注意点

  其Qt使用QGraphicsScene代理窗口强制旋转

  关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案_第2张图片


尝试

  1.调整窗口父类,使用窗口作为对话框的父类壳保持同步旋转。
  关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案_第3张图片

  2.调试窗口阴影代码,去掉阴影则可以显示了。
  关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案_第4张图片
  关于 海思Hi3516横竖屏Qt使用QGraphicsScene代理窗口强制旋转导致弹窗旋转与阴影不显示的 解决方案_第5张图片
  1和2同时存在导致尝试摸索的时间较长,最后区分定位。


最终规避

  1.去掉对话框阴影
  2.对话框使用父类,不单独exec();
  3.对话框父类QDialog改为QWidget,然后单独另起show和hide,信号signal_accepted()和signal_reject(),不使用exec()而使用show()显示来规避。


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/128592671

你可能感兴趣的:(Qt开发,海思开发,qt,Hi3516,对话框不显示,主界面旋转)