问题标签 [qopenglwidget]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
47 浏览

qt - 如何获取 MainWindow 而不是 centralWidget?

当我想抓取整个窗口时,我只能在centralWidget中抓取用OpenGL绘制的东西。

我用 QT 绘制的东西,比如 QPixmap 或 QPainter(甚至在 statusBar 中),不能在grabWidget 中显示。

谁能告诉我如何获取整个主窗口,或者ui->OpenGLWidget使用错误?

这是我第一次在 stackoverflow 上提问。如果我的陈述有问题,请随时纠正。

0 投票
0 回答
48 浏览

c++ - Qt5:在 QOpenGLWidget 之上绘制一些图形

我正在构建一个使用 Qt5 的应用程序,旨在显示来自数码相机的视频(使用 Gstramer 管道)。然后在 QPainter 的帮助下,我在上面绘制了一些图形(一些文本形状和图标)。

问题是视频刷新率约为 30 FPS,我只需要以 10 FPS 左右的速度更新图形。目前我为每个视频帧重新绘制图形覆盖,这在 CPU 方面非常浪费。

有没有更好的方法可以让我重新使用前一帧的叠加层,只更新背景(来自相机的帧)?

我的一个想法是将叠加层绘制到 QImage 中,然后将图像绘制到 QOpenGLWidget 上,但感觉不对。

谢谢...

0 投票
0 回答
17 浏览

c++ - 为什么 QMediaPlayer::setVideoOutput() 导致 QOpenGLWidget 不播放视频

环境

  1. 操作系统:Ubuntu 20.04LTS
  2. Qt 版本:5.12.8

目标

我的系统中有两个表单,第一个是QOpenGLWidget(override)来播放视频,第二个是带有一些QVideoWidget(override) -s 在录像机中播放视频。

问题

当第一个表单播放视频时,我显示了第二个表单。第一个表单无法显示视频。我发现这个代码QMediaPlayer::setVideoOutput(ui->videoWidget)导致了问题。

系统界面及操作流程

代码

QOpenGLWidget(覆盖)

QVideoWidget(覆盖)