QListViewからテキストを取得
質問
私は単純にテキストの行を表示しているサードパーティのQListView
オブジェクトへのポインタを持っています。テキストの文字列のホールドを取得する最良の方法は何ですか?
解決
モデルは、 QListView::model()
のことでアクセス可能、アイテムを保持しています。あなたはこのような何かを行うことができます:
QListView* view ; // The view of interest
QAbstractItemModel* model = view->model() ;
QStringList strings ;
for ( int i = 0 ; i < model->rowCount() ; ++i )
{
// Get item at row i, col 0.
strings << model->index( i, 0 ).data( Qt::DisplayRole ).toString() ;
}
また、あなたはテキストが書き込まれたときに更新された文字列を取得したいと思い言及 - あなたは、文字列を抽出し、あなたの関数にモデルのdataChanged()
信号を接続することにより、これを行うことができます。参照してください。 QAbstractItemModel::dataChanged()
するます。
他のヒント
あなたはそのルートQModelIndexためQListViewオブジェクトを尋ねると、兄弟/子供の方法を使用して別のエントリを反復処理するためにそれを使用することができます。あなたはQtの:: DisplayRoleとして指定された役割とインデックスにデータメソッドを呼び出すことにより、各インデックスに関連付けられたテキストにアクセスすることができます。
詳細については、次のドキュメントを参照してください。
QAbstractItemViewする - QListViewに親クラス
所属していません StackOverflow