You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

QOpenGLWidget作为QMainWindow中心部件时背景显示为黑色的问题求助

QOpenGLWidget作为QMainWindow中心部件时背景显示为黑色的问题求助

大家好,我最近为了绕过Qt 6.9.0在Android上的一个显示问题,尝试把QMainWindow的中心QWidget替换成QOpenGLWidget。替换后确实解决了原本的显示问题,但新的问题来了——这个QOpenGLWidget的背景一直是黑色的。我把同一个应用编译部署到Windows 10上,发现背景依然是黑色的。我没有自行编译Qt,而且跨平台都出现同样的问题,我觉得应该是我的代码哪里写得不对,但找了半天也没找到问题所在。

我搜了不少类似的帖子,比如QOpenGLWidget show black screen、QGLWidget appears black in Windows 7 64 bit等等,但这些帖子里的方法都没能帮我解决问题。

下面是我的代码,非常简单:

#include <QApplication>
#include <QMainWindow>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QtOpenGLWidgets/QOpenGLWidget>

int main( int argc, char* argv[] )
{
    QApplication app( argc, argv );
    QMainWindow wnd;
    QOpenGLWidget widget( &wnd );
    wnd.setCentralWidget( &widget );
    widget.setLayout( new QVBoxLayout(&widget) );
    auto line1 = new QLineEdit();
    widget.layout()->addWidget( line1 );
    wnd.show();
    return app.exec();
}

现在屏幕上显示的就是一个黑色背景的窗口,上面有个输入框。请问我哪里写错了?应该怎么修改才能让窗口背景变成正常的灰色呢?


内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 10:48:08