首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QMediaPlayer回到MainWindow QT

QMediaPlayer回到MainWindow QT
EN

Stack Overflow用户
提问于 2022-08-02 01:58:12
回答 1查看 67关注 0票数 1

我使用这个qt类将.mp4文件作为一个小块来播放,但是它不允许我在上面添加按钮或其他任何东西。

好吧,QMediaPlayer已经把它放在了继承‘集中式小部件和小部件’的位置上,但是没有成功,下面是代码

代码语言:javascript
复制
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {
ui->setupUi(this);
videoWidget = new QVideoWidget(ui->centralwidget);
player      = new QMediaPlayer;

player->setVideoOutput(videoWidget);
player->setSource(QUrl::fromLocalFile("C:/Users/felli/Desktop/teste/videoplayback (2).mp4"));
player->setLoops(QMediaPlayer::Infinite);
player->play();

videoWidget->resize(1280, 720);
videoWidget->show();

pb = new QProgressBar(videoWidget);
pb->setGeometry(QRect(370, 370, 118, 23));
pb->setValue(30);
pb->show();
EN

回答 1

Stack Overflow用户

发布于 2022-08-03 04:02:10

问题在于,您将进度条与视频小部件绑定在一起,而不是像您所希望的那样显示在顶部。

这段代码对我来说很好:

代码语言:javascript
复制
#include <QApplication>
#include <QProgressBar>

#include <QMediaPlayer>
#include <QVideoWidget>

int main(int argc, char** argv)
{
  QApplication app(argc, argv);

  QVideoWidget *videoWidget = new QVideoWidget();
  QMediaPlayer *player = new QMediaPlayer;
  
  player->setVideoOutput(videoWidget);
  player->setSource(QUrl::fromLocalFile("C:/Users/felli/Desktop/teste/videoplayback (2).mp4"));
  player->setLoops(QMediaPlayer::Infinite);
  player->play();
  
  videoWidget->resize(1280, 720);
  videoWidget->show();
  
  // Not parent it to the video widget to show it on top
  QProgressBar *pb = new QProgressBar();
  pb->setGeometry(QRect(370, 370, 118, 23));
  pb->setValue(30);
  pb->show();

  return app.exec();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73201246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档