我收到以下错误:
mainwindow.cpp:168:错误:没有匹配函数来调用'MainWindow :: connect(MainWindow *,const char *,MediaPlayer *&,const char *)' QObject :: connect(this,SIGNAL(PlayMedia()),_ MediaPlayer,SLOT(PlayMedia())); ^
C:\ Qt \ Qt5.5.0 \ 5.5 \ mingw492_32 \ include \ QtCore \ qobject.h:213:错误:'struct QtPrivate :: FunctionPointer'中没有名为'Object'的类型
MediaPlayer类:
class MediaPlayer : public QObject
{
Q_OBJECT
public:
MediaPlayer();
~MediaPlayer();
public slots:
void OnPlayMedia();
...
void MediaPlayer::OnPlayMedia()
{
qDebug() << "PlayMedia";
}
MainWindow类:
class MainWindow : public QMainWindow
{
Q_OBJECT
signals:
void PlayMedia();
private:
MediaPlayer *mMediaPlayer;
...
void MainWindow::Initialize()
{
mMediaPlayer = new MediaPlayer();
connect(this, SIGNAL(PlayMedia), mMediaPlayer, SLOT(OnPlayMedia));
...
}
但每次我构建项目时都会收到错误
更新1: 我更新了代码,但仍然收到错误
更新2 问题是MediaPlayer缺少QObject
class MediaPlayer : public QObject
添加此修复代码。
答案 0 :(得分:0)
我的问题是我的类MediaPlayer缺少QObject的继承。我更新了上面的原始代码以显示此内容
答案 1 :(得分:0)
MediaPlayer应该来自QObject:
Needle