Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: vladmailbox от Апрель 12, 2010, 13:15



Название: При компиляции выдается ошибка staticMetaObject is not a member of class
Отправлено: vladmailbox от Апрель 12, 2010, 13:15
Есть класс

class UiDialog : public QDialog
{
    Q_OBJECT
    Q_PROPERTY( QWidget * ui READ getUI )

public:
    UiDialog( QWidget *parent);

    QWidget * getUI() { return ui; }
    bool Display(QString FormName, QWidget *owner );

Q_SIGNALS:
    void receiveSignal( QString name );

protected:
    void closeEvent(QCloseEvent *event);

private slots:
    void slotRejected();
    void slotAccepted();

private:
    QWidget *ui;
};

Q_SCRIPT_DECLARE_QMETAOBJECT(UiDialog, QWidget*);


При компиляции выдается ошибка

`staticMetaObject' is not a member of `UiDialog*'

Почему, ведь он наследуется от QObject?


Название: Re: При компиляции выдается ошибка staticMetaObject is not a member of class
Отправлено: pastor от Апрель 12, 2010, 13:27
На какую строку кода ругается?


Название: Re: При компиляции выдается ошибка staticMetaObject is not a member of class
Отправлено: vladmailbox от Апрель 12, 2010, 13:40
Ругается он вообще на другой файл:

c:/Appl/Qt/2009.03/qt/include/QtScript/../../src/script/qscriptengine.h:
311: error: `staticMetaObject' is not a member of `UiDialog*'

Это на вот это фрагмент:
...
    return engine->newQMetaObject(&T::staticMetaObject,
                                  engine->newFunction(reinterpret_cast<QScriptEngine::FunctionWithArgSignature>(cptr), 0));
...