【问题标题】:How to create player of sequence images in qt?如何在qt中创建序列图像播放器?
【发布时间】:2022-01-06 06:33:48
【问题描述】:

大家! 我是初学者。我正在尝试创建一个播放器以在 qt 中播放图像,但我无法弄清楚如何在小部件中实现图像更新。我尝试使用 QPaintEvent,但它只在调整窗口大小时环绕图像。我了解我需要使用 QTimer。主要问题是如何实现更新图像的方法

【问题讨论】:

  • 一种简单的方法是将图像设置为标签上的像素图。跟踪您在一组图像中的位置,并将超时信号连接到设置下一张图像的助手。
  • 我知道我需要连接更新计时器上图像的插槽。但我无法弄清楚如何进行窗口更新,方法本身。感谢您的回答)
  • 请使用“窗口”和“小部件”的 C++ 定义编辑您的问题。
  • 请提供minimal reproducible example,这样我们就不必猜测您的问题到底是什么。

标签: c++ image qt media


【解决方案1】:

您可以查看image-viewer example。你基本上想用不同的文件定期调用它的函数loadFile()

为此,您可以使用QTimer。当然信号timeout()没有参数,所以不能直接连接到loadFile()。相反,您必须想出一个名为 loadNextFile() 之类的插槽,它知道当前文件是什么,根据该文件确定下一个文件,然后调用 loadFile()

void ImageViewer::loadNextFile()
{
   QString nextFile = this->determineNextFile(this->currentFile);
   this->loadFile(nextFile);
   this->currentFile = nextFile;
}

【讨论】:

    猜你喜欢
    • 2015-12-12
    • 2016-07-06
    • 1970-01-01
    • 2012-06-06
    • 1970-01-01
    • 2013-10-25
    • 2012-08-14
    • 1970-01-01
    • 2017-09-05
    相关资源
    最近更新 更多