我收到以下错误:
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:
class MediaPlayer : public QObject
{
Q_OBJECT
public:
MediaPlayer();
~MediaPlayer();
public slots:
void OnPlayMedia();
...
void MediaPlayer::OnPlayMedia()
{
qDebug() << "PlayMedia";
}
MainWindow Class:
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));
...
}
但是每次构建项目时我都会收到错误
Update 1: 我更新了代码,但仍然收到错误
update 2 问题是MediaPlayer缺少QObject
class MediaPlayer : public QObject
添加此修复代码 .
2 回答
MediaPlayer应该从QObject派生:
我的问题是我的类MediaPlayer缺少QObject的继承 . 我更新了上面的原始代码以显示此信息