2015-06-06 6 views
0

Я пытаюсь использовать общую библиотеку в файле QML. Все кажется хорошим, но когда я скомпилирую, я получаю эту ошибку:Ошибка при попытке использовать общую библиотеку в файле qml

error: 'QObject' is an inaccessible base of 'Player'

Я буду очень признателен, если кто-то сможет мне помочь. Благодарю.

Это код общей библиотеки:
player.h

class PLAYERSHARED_EXPORT Player : QObject 
{ 
    Q_OBJECT 
    Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged) 
    QString name; 
    Q_PROPERTY(QString id READ getId WRITE setId NOTIFY idChanged) 
    QString id; 

public: 
    Player(QString name); 
    const QString getName(); 
    void setName(const QString name); 
    const QString getId(); 
    void setId(const QString id); 

signals: 
    void nameChanged(); 
    void idChanged(); 
}; 

и файл .pro:

TEMPLATE = app 
QT += qml quick widgets 
SOURCES += main.cpp 
RESOURCES += qml.qrc \ 
    resources.qrc 
QML_IMPORT_PATH = 
include(deployment.pri) 
OTHER_FILES += 
unix|win32: LIBS += -L$$PWD/dlls/ -lplayer 
INCLUDEPATH += $$PWD/dlls 
DEPENDPATH += $$PWD/dlls 

ответ

2

Вы объявили личное QObject наследство. Изменение:

class PLAYERSHARED_EXPORT Player : public QObject