0

QTableViewから派生したテーブルモデルと組み合わせて使用​​していますQAbstaractTableModel。行/列 (状態/入力文字を表す) を挿入したいのですが、状態/入力文字のラベルとして文字列をデータ クラスに渡す必要があります (これは HeaderView に表示されます)。

bool TransTableModel::insertRows(int position, int rows, const QModelIndex &index)
{
    beginInsertRows(index, position, position+rows-1);

    garage->addUsedState("q6");

    endInsertRows();
}

TransTableModel私のカスタムモデルです。私の問題: ユーザーからこの文字列を取得するにはどうすればよいですか? この場合"q6"、ラベルとしてハードコーディングしましたが、これはユーザーが提供する必要があります。方法はありますか?入力ダイアログを開く必要がありますか? モデルクラスから?

4

1 に答える 1

1

モデルがそのデータを必要とする場合は、入力ダイアログを開くことができるビューによって提供される必要があります。

モデルにメンバー関数を追加して、その追加のパラメーターを渡し、「通常の」を呼び出す代わりにビュー クラスから呼び出すことができます (その新しい関数insertRowsを呼び出す必要はなく、とだけです)。insertRowsbeginInsertRowsendInsertRows

于 2012-09-07T12:32:19.420 に答える