我从QWidget编写自己的类子类 这是我的头文件
#ifndef GRAPHMATRIX_H
#define GRAPHMATRIX_H
#include "treemodel.h"
#include <QWidget>
#include <Qt/qtableview.h>
class GraphMatrix : public QWidget
{
Q_OBJECT
public:
TreeModel& getModel();
GraphMatrix(QWidget* parent = 0);
void addTop(QString name);
void cutComponent(GraphMatrix* component, QVector<int> columns);
private:
TreeModel model;
QTableView* view;
public slots:
void changeValue(const QModelIndex& index);
};
#endif // GRAPHMATRIX_H
我收到此错误
error C2248: 'QWidget::QWidget' : cannot access private member declared in class 'QWidget'
任何人都可以帮助我吗?
更新添加:我找到答案,问题是在QList中我必须写QList。因为QList使用的是复制构造函数。感谢您抽出时间解决我的问题
答案 0 :(得分:1)
看起来你正试图调用私有的QWidget的默认构造函数。相反,您的构造函数需要调用QWidget的公共构造函数,如下所示:
GraphMatrix::GraphMatrix(QWidget* parent) : QWidget(parent) {}
答案 1 :(得分:0)
我找到答案,问题是在QList中我必须写QList。因为QList使用的是复制构造函数。感谢您抽出时间解决我的问题