首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

信号/槽有关问题

2012-04-03 
信号/槽问题我写了个关于model/view的函数[codeC/C++]classview{...publicslots:voiddataChanged(constQM

信号/槽问题
我写了个关于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对数据的操作没有成功。
我也不知道我说的对不,没试验过,一点理解而已

热点排行