【发布时间】:2008-09-24 12:17:12
【问题描述】:
我在 Qt Jambi 4.4 中创建了 QAbstractListModel 类的实现,我发现使用带有 QListView 的模型不会显示任何内容,但是使用带有 QTableView 的模型可以正确显示数据.
下面是我对QAbstractListModel的实现:
public class FooListModel extends QAbstractListModel
{
private List<Foo> _data = new Vector<Foo>();
public FooListModel(List<Foo> data)
{
if (data == null)
{
return;
}
for (Foo foo : data)
{
_data.add(Foo);
}
reset();
}
public Object data(QModelIndex index, int role)
{
if (index.row() < 0 || index.row() >= _data.size())
{
return new QVariant();
}
Foo foo = _data.get(index.row());
if (foo == null)
{
return new QVariant();
}
return foo;
}
public int rowCount(QModelIndex parent)
{
return _data.size();
}
}
这是我设置模型的方式:
Foo foo = new Foo();
foo.setName("Foo!");
List<Foo> data = new Vector<Foo>();
data.add(foo);
FooListModel fooListModel = new FooListModel(data);
ui.fooListView.setModel(fooListModel);
ui.fooTableView.setModel(fooListModel);
谁能看到我做错了什么?我想这是我的实现的问题,因为正如大家所说,选择没有损坏!
【问题讨论】:
标签: java qt qt-jambi qabstractlistmodel