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

好吧,QMediaPlayer已经把它放在了继承‘集中式小部件和小部件’的位置上,但是没有成功,下面是代码
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();发布于 2022-08-03 04:02:10
问题在于,您将进度条与视频小部件绑定在一起,而不是像您所希望的那样显示在顶部。
这段代码对我来说很好:
#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();
}https://stackoverflow.com/questions/73201246
复制相似问题