首页| 论坛| 消息

标题:QT开发安卓程序透明背景黑屏怎么解决
作者:byzzzw
日期:2024-06-07 16:15
内容:

方法一,在主窗口加上:
QSurfaceFormat format;
format.setRenderableType(QSurfaceFormat::OpenGLES);
format.setAlphaBufferSize(8); // 设置透明度缓冲区大小
format.setSwapInterval(1); // 设置垂直同步间隔
QSurfaceFormat::setDefaultFormat(format);
setAttribute(Qt::WA_TranslucentBackground, true);
setAttribute(Qt::WA_NoSystemBackground, true);

方法二,在main函数加
..


#1 [samhuilong 06-07 17:08]
可能是没有设置opengl es的版本
format.setVersion(3, 2);
format.setProfile(QSurfaceFormat::CoreProfile);
#2 回 samhuilong 的帖子 [liudianwu 06-10 08:17]
samhuilong:可能是没有设置opengl es的版本
format.setVersion(3, 2);
format.setProfile(QSurfaceFormat::CoreProfile);

....... (2024-06-07 17:08) 
大佬用过qt6.7没,我之前写的监控绘制的openglwidget绘制,6.7以前的版本都正常绘制。到了6.7就出不来画面,是什么原因呢
#3 回 liudianwu 的帖子 [samhuilong 06-12 14:53]
liudianwu:大佬用过qt6.7没,我之前写的监控绘制的openglwidget绘制,6.7以前的版本都正常绘制。到了6.7就出不来画面,是什么原因呢 (2024-06-10 08:17) 
我用的qt6.7的QOpenglWidget,底层绘制基于opengl3.3,应用程序运行没问题。
你试着设置opengl版本或者设置兼容模式QSurfaceFormat::CompatibilityProfile试试。
#4 [liudianwu 06-13 13:49]
试过了,设置QSurfaceFormat::CompatibilityProfile直接整个程序都是黑色的。版本的也都试过了,不行
#5 回 samhuilong 的帖子 [liudianwu 06-13 13:50]
samhuilong:我用的qt6.7的QOpenglWidget,底层绘制基于opengl3.3,应用程序运行没问题。
你试着设置opengl版本或者设置兼容模式QSurfaceFormat::CompatibilityProfile试试。 (2024-06-12 14:53) 
之前这个现象在6.6.0 6.6.16.6.2都有,但是到了6.6.3居然正常。说明应该是修复了。但是6.7.06.7.1又出现了。难道又是为了KPI新增的?

回复 发表
主题 版块