0

QTreeViewいくつかの sが取り込まれていQStandardItemます。アイテムは編集可能で、信号またはイベント フィルターのいずれかを使用して、アイテムのテキストが変更されるたびに反応するようにプログラムしたいと考えています。法案を満たすものは何も見つかりません。を試しQStandardModel::itemChangedましたが、それは他のアイテム データの変更に応答し、テキスト コンテンツとユーザー データの変更を区別する方法がわかりません。これにアプローチする最良の方法は何ですか?

4

1 に答える 1

0

これに対処するために、QStandardItem からクラスを派生させ、次のように QStandardItem::setData をオーバーライドしました。

void MyStandardItem::setData(const QVariant& value, int role)
{
    if (role == Qt::EditRole) {
        doStuff();
    }

    QStandardItem::setData(value, role);
}
于 2013-01-25T17:15:30.983 に答える