Qt5.6.0中setRoleNames()过时被roleName()替代,怎么个重新实现法?



  • RT,Qt5.6.0

    QAbstractItemModel::setRoleNames() is deprecated. Use >QAbstractItemModel::roleNames() instead. QAbstractItemModel::roleNames() is virtual >now to allow a consistent API with the rest of QAbstractItemModel. Reimplementing the >virtual methods to provide the elements is preferred to setting those directly.

    那么现在要怎么重新实现roleNames()?

    QHash<int, QByteArray> StringListModel::roleNames() const
    {
        //怎么写?
    }
    

    而外部需要用到自定义的role时,又怎么引用?



  • @taadis 新建一个QHash<int, QByteArray> 然后,insert枚举以及字符串。最后返回这个hash实例。



  • @jiangcaiyang123 嗯,参考旧的实现以及新的要求总结了下:传送门


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待