QListView如何自定义item

runningDay 2017-08-15 05:08:27
现在要用QListView来写一个播放列表, 播放列表里面要信息要有缩略图, 时长, 大小, 帧数等信息
用QListView如何自定义这些信息呢?
是否需要自己定义一个QWidget, 然后怎么绘制这个QWidget?
...全文
954 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
runningDay 2017-08-18
  • 打赏
  • 举报
回复
引用 1 楼 qqwangfan 的回复:
1.比如缩略图的行,可以这样做,先使用一个label显示图片,再将label放入该行中。 放入某一行的函数可以使用:setIndexWidget(const QModelIndex & index, QWidget * widget)。 如: QLabel *label = new QLabel(""); label->setPixmap(QPixmap(":/image/grid").scaled(30,30)); listview->setIndexWidget( index,label); 2其他的时长,大小,帧数,这些直接往表填内容即可。无不行,则仿照第1点的方式设置某一行的widget。不需要自己绘制widget。
谢谢, 问题已经搞定了, 就像你说的这样, listview->setIndexWidget( index,label); 但是由于获取缩略图这些函数是需要时间的, 所以我开了个线程后台加载.
  • 打赏
  • 举报
回复
1.比如缩略图的行,可以这样做,先使用一个label显示图片,再将label放入该行中。 放入某一行的函数可以使用:setIndexWidget(const QModelIndex & index, QWidget * widget)。 如: QLabel *label = new QLabel(""); label->setPixmap(QPixmap(":/image/grid").scaled(30,30)); listview->setIndexWidget( index,label); 2其他的时长,大小,帧数,这些直接往表填内容即可。无不行,则仿照第1点的方式设置某一行的widget。不需要自己绘制widget。

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧