TreeView
がQt Quick
で、サブクラスがQStandardItemModel
である。 this.appendRow()
は、モデルのコンストラクターで完全に正常に機能します。QStandardItemModelコンストラクタの呼び出し後にappendRowが機能しない
しかし、私はコンストラクタの後に、たとえばボタンプレスの反応としてそれを呼び出すと、何もしません。
(ちょうど表示されないかもしれないが、rowCountが増加しないかどうかを確認するには、this->rowCount()
もチェックしてください)。
私は下に示すように、QStandardItem
をルートに追加するaddRootEntry関数を使用しています。
void ProjectTreeModel::addRootEntry(const QString& name, const QString& type, const QString& icon)
{
QStandardItem rootEntry = new QStandardItem(name);
rootEntry->setData(icon, ProjectTreeModel_Role_Icon);
rootEntry->setData(type, ProjectTreeModel_Role_Type);
rootEntry->setData(name, ProjectTreeModel_Role_Name);
this->appendRow(rootEntry);
qDebug() << rootEntry; //Is not null
qDebug() << this->rowCount(); //Stays the same
}
いいえ、残念ながらそれは動作しません。アイテムは今追加されますが、ツリービューは更新されません。 –