문제

제 3 자에게 포인터가 있습니다 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().

다른 팁

QlistView 객체에 루트 QModelIndex를 요청하고 형제/어린이 방법을 사용하여 다른 항목을 반복하는 데 사용합니다. qt :: displayRole로 지정된 역할을 사용하여 인덱스의 데이터 메소드를 호출하여 각 색인과 관련된 텍스트에 액세스 할 수 있습니다.

자세한 내용은 다음 문서를 참조하십시오.

qabstractItemView - 부모 클래스에서 qlistView

qmodelIndex

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top