C:/ QT /.../ mymodel.h:-1: 在成員函數 '無效的MainWindow :: createModel()':構造函數是私有的?
錯誤:基於myModel ::基於myModel(QObject的*)'是私人
錯誤:此背景下
mymodel.h:
#ifndef MYMODEL_H
#define MYMODEL_H
#include <QStandardItemModel>
class myModel : public QStandardItemModel
{
public:
Q_OBJECT
myModel(QObject *parent = 0);
};
#endif // MYMODEL_H
mymodel.cpp:
#include "mymodel.h"
myModel::myModel(QObject *parent) :
QStandardItemModel(parent)
{
}
mainwindow.h
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow();
private slots:
...
signals:
...
private:
...
myModel *model;
};
mainwindow.cpp:
void MainWindow::createModel()
{
model = new myModel(this);
感謝。
在這裏的文檔:http://doc.trolltech.com/4.5/moc.html#moc和在你的mainwindow.h中,我看到在'public:'之前使用的Q_OBJECT 。在mymodel.h中,你在'public:'之後。宏是否可能重新引入'private:'?嘗試在「public:」之前移動它,看它是否能解決你的問題。 – ccoakley 2011-06-13 04:28:31