QT QGLWidget

liu54ee 2015-08-20 09:40:13
void MView::takeShot(QAction *a)
{
QString format = a->text();
QString filename = QFileDialog::getSaveFileName(
this, "Choose a filename to save under", "", "*." + format);

if (!filename.isEmpty())
{
QImage image = glmesh->renderPixmap().toImage();

if (image.save(filename, format.toLatin1().data()) == FALSE)
QMessageBox::warning(this, "Save screenshot", "Could not save image!");
}
}

class GLMesh : public QGLWidget

我想保存QGLWidget窗口当前的image,上述代码时实现这个功能的,但是每次调用上述函数,程序就会闪退。
但是官方编译打包好,能够实现保存图片,而我自己编译的exe就会出现上述情况。
我想知道一般会是什么原因或者有其他实现保存QGLWidget窗口图片的方法.
...全文
459 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
liu54ee 2015-08-21
  • 打赏
  • 举报
回复
引用 3 楼 liujiangfeng54 的回复:
[quote=引用 2 楼 fly_dragon_fly 的回复:] 这个函数不熟悉, 直接用glReadPixels行不行
刚刚再overstack上面看到,其实这个qglwidget已经弃用了,但是Qt5然后保留,维持以前的代码。 我去查一下这个glReadPixels怎么用[/quote] 在Qt里面调用grabFrameBuffer()实质上是调用glReadPixels 已经解决了,谢谢
liu54ee 2015-08-21
  • 打赏
  • 举报
回复
引用 2 楼 fly_dragon_fly 的回复:
这个函数不熟悉, 直接用glReadPixels行不行
刚刚再overstack上面看到,其实这个qglwidget已经弃用了,但是Qt5然后保留,维持以前的代码。 我去查一下这个glReadPixels怎么用
fly_dragon_fly 2015-08-20
  • 打赏
  • 举报
回复
这个函数不熟悉, 直接用glReadPixels行不行
liu54ee 2015-08-20
  • 打赏
  • 举报
回复
顶 等待大神

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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