Bootstrap

QML中ListView使用cpp的Model

QML中ListView使用cpp的Model


前言

我在实际转QML开发时,遇到一个百思不得其解的问题–>ListView的Model是来自C++,其中delegate中的有些显示数据,查不到引用,找了很久都不知道来自哪里?直到我看到博主「猫生鱼」的原创文章,注释里写明了来源,设置好对应的roleNames()后,ListView就可以在delegate中就可以直接使用title_、content_、select_来获取数据了。


代码如下:

/** ListView获取数据时,需要的别名
 * @brief MyListViewModel::roleNames
 * @return
 */
QHash<int, QByteArray> MyListViewModel::roleNames() const
{
    // 这样设置好后,ListView就可以在delegate中,
    // 直接使用title_、content_、select_来获取数据了。
    QHash<int, QByteArray> roles;
    roles[TitleRole] = "title_";
    roles[ContentRole] = "content_";
    roles[SelectRole] = "select_";
    return roles;
}
————————————————
版权声明:本文为CSDN博主「猫生鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_23604781/article/details/121563087

请特别注意一下注释内容,感谢博主的「猫生鱼」详文,文章来自https://blog.csdn.net/qq_23604781/article/details/121563087。如有侵权请联系删除,谢谢。

;