信号/槽问题
我写了个关于model/view的函数
[code=C/C++]class view {
...
public slots:
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight);
...
};
void view::setModel(Model *model) {
m_model = model;
connect(m_model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(dataChanged(QModelIndex,QModelIndex)));
}
void model::addData() {
...
emit dataChanged(topLeft, bottomRight);
}
Widget::Widget {
model = new Model;
view = new View;
view-> setModel(model);
connect(model, SIGNAL(dataChanged(QModelIndex,QModelIndex)),
this, SLOT(testDataChanged(QModelIndex,QModelIndex)));
}[/code]
我在view类里有一个dataChanged()槽,在setModel()中添加了connect函数.
但view却没有响应model的dataChangeed()信号.
我在主类Widget中连接了dataChanged()信号和testDataChanged()槽,却能响应.
这是为什么? 请大家帮忙看看.
[解决办法]
vie 应该继承自QObject,并且补上Q_OBJECT宏,才能支持信号槽
[解决办法]
view只管显示,真正储存数据的是medol
我觉得不是信号槽没有响应,而是槽中view对数据的操作没有成功。
我也不知道我说的对不,没试验过,一点理解而已