RainbowsixPlayer 2024-01-08 20:47 采纳率: 80%
浏览 3

qopenglwidget来绘制图片

正在学习qt,请问下,我使用Qt openglwidget来绘制图片的时候,感觉内存占用有点大,我之前是使用label来进行绘制的,整个程序运行起来内存占用也就50mb左右,现在就只是加了个widget控件内存就到了100多,这个数值合理吗。我就只是想用gpu来绘制下图片,有没有其他的实现方式。谢谢各位解答

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-08 22:04
    关注

    【相关推荐】



    • 看下这篇博客,也许你就懂了,链接:QOpenglWidget使用示例
    • 除此之外, 这篇博客: OpenGL(3)之Qt窗口(QOpenGLWidget)中的 实例三:上下文配置格式 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
      1. 配置格式:要获取与给定OpenGL版本或配置文件兼容的上下文,或请求深度和模具缓冲区,调用setFormat():
        QOpenGLWidget *widget = new QOpenGLWidget(parent);
        QSurfaceFormat format;
        format.setDepthBufferSize(24);
        format.setStencilBufferSize(8);
        format.setVersion(3, 2);
        format.setProfile(QSurfaceFormat::CoreProfile);
        //必须在显示之前调用
        widget->setFormat(format); 
      
      1. 对于OpenGL 3.0+上下文,当可移植性不重要时,我们可以使用下面这种方式来访问具体版本的的函数功能。
            ...
            void paintGL()
            {
                QOpenGLFunctions_3_2_Core *f = QOpenGLContext::currentContext()- >versionFunctions<QOpenGLFunctions_3_2_Core>();
                ...
                f->glDrawArraysInstanced(...);
                ...
            }
            ...
      
      1. 如上所述,全局地设置请求的格式,以便在应用程序的生命周期中应用于所有窗口和上下文,这样更简单、更健壮。
        int main(int argc, char **argv)
        {
            QApplication app(argc, argv);
      
            QSurfaceFormat format;
            format.setDepthBufferSize(24);
            format.setStencilBufferSize(8);
            format.setVersion(3, 2);
            format.setProfile(QSurfaceFormat::CoreProfile);
            QSurfaceFormat::setDefaultFormat(format);
      
            MyWidget widget;
            widget.show();
      
            return app.exec();
        }
      

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月8日

悬赏问题

  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上
  • ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
  • ¥15 netcore使用PuppeteerSharp截图
  • ¥20 这张图页头,页脚具体代码该怎么写?
  • ¥15 关于#sql#的问题,请各位专家解答!
  • ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
  • ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂