Qt Jambi:QAbstractListModelな表示QListView
-
02-07-2019 - |
質問
私の実装を QAbstractListModel
クラスQt Jambi4.4、このモデル 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);
誰でもできるので見えになっているが悪いのでしょうか。と思ってたので問題は私の実装では、皆様には、選択ゃないぞ!
解決
私の経験がありませんでJambiもなく帰国するQVariantメソッドからデータの()の代わり返しFoo?では明らかでなかのビューがノウハウを変換するFooへの文字列表示されます。
また、ケンブリッジシャー販売することができますので使いやすくQStandardModelとQStandardModelItemの代わりに転が完全にカスタムのハードす。という一見、させないように指定できますのMVCパターンが一体となったものも使いやすいQListWidget.
他のヒント
モデルデータ()の実装には二つの問題で
失敗した場合に異なる値が異なる項目のデータです。現在の の実装を返します同じ値を全ての役割、を一望できる の問題です。
QVariantにJambiと同じではない通常のQt.きないときは、
戻っnull
.
よりよい実施することはできない。
public Object data(QModelIndex index, int role) {
if (index.row() < 0 || index.row() >= _data.size())
return null;
if (role != Qt.ItemDataRole.DisplayRole)
return null;
return _data.get(index.row());
}
所属していません StackOverflow