标题:如何在tableview单元格中呈现自定义控件并可编辑
作者:夏惠霞
日期:2016-03-23 20:20
内容:
hello,不好意思,刚看到这里还有专门的插入代码工具,之前的那个帖子代码没有用这个工具,太乱了。重复一下我的问题,是这样的:有一个数据源,假设我用vectcor容器来盛放它。数据源中的每一个数据项包括三个类容:一张图片,一个图片名字,一个复选框用于记录用户是否选择这张图片。这三项类容我打算放到一个frame上,分别用一个qlabel, 一个qlabel,一个qcheckbox来呈现。现在,我需要把每一个数据项都呈现到tableview的单元格上,也就是说我想把frame放到单元格中,并且单元格可以编辑。比如说,我点击某个单元格,然后单元格的图片就被选中了,复选框自动勾上勾。
我的问题是:当tableview第一次呈现出来的时候,我需要它能够加载数据源中的数据到每个单元格中,那么我该怎么做?是重写model的data()函数来实现这个功能,还是重写delegate的setEditData()函数?
如果热心的你不嫌麻烦的话,我贴出了我的代码,大致展示一下我的思路(我的代码还是有问题的,只能显示一列单元格,而且frame不显示):
这是自定义frame的头文件:
class thumbnailFrame : public QFrame
{
public:
explicit thumbnailFrame(DataSource *datasource, QWidget *parent = 0);
~thumbnailFrame();
void setThumbnailSize();
QSize getThumbnailSize();
void setD ..