1
私はQtで初心者です。 QMediaPlayer
に問題があります:私のプログラムは2つの書式(メインフォームと通知)を持っています。したがって、条件があり、それが真実ならば、プログラムは第2の形式を表示し、負荷形式で音楽を再生する必要があります。QMediaPlayerを第2の形式で使用する
main.cppに
#include "mainwindow.h"
#include <QApplication>
#include "dialog.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
Dialog d;
d.musicPlay();
d.show();
return a.exec();
}
dialog.cpp
#include "dialog.h"
#include "ui_dialog.h"
#include <QMediaPlayer>
#include <QUrl>
#include <QDebug>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
uix(new Ui::Dialog)
{
uix->setupUi(this);
}
void Dialog::musicPlay() const
{
QMediaPlayer pl;
pl.setMedia(QUrl::fromLocalFile("/home/jack/01.mp3"));
pl.setVolume(100);
pl.play();
qDebug()<<pl.errorString();
}
Dialog::~Dialog()
{
delete uix;
}
それは動作しませんが、同じようmusicPlay()場合は、次のようになります。それがうまくいく
uix->label->setText("qwerty");
。 この問題を解決するお手伝いをしてもらえますか?たぶん私はスロットと信号を使用する必要がありますか?
ありがとうございました!私はdialog.hでポインタplを宣言し、それは動作します) –