2012-09-07 2 views
0

Im을 추가합니다. 이제 행/열 (상태/입력 문자를 나타냄)을 삽입하고 싶지만 상태/입력 문자에 대한 문자열을 내 데이터 클래스에 레이블로 전달해야합니다 (HeaderView에 표시됨).QTableView - <code>QAbstaractTableModel</code>에서 파생 된 테이블 모델을 사용하여 <code>QTableView</code>을 사용하여 명명 된 행

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

    garage->addUsedState("q6"); 

    endInsertRows(); 
} 

TransTableModel은 내 맞춤 모델입니다. 내 문제 : 사용자로부터이 문자열을 얻으려면 어떻게해야합니까? 이 경우 레이블로 "q6"을 하드 코드했지만 사용자가 제공해야합니다. 방법이 있습니까? 입력 대화 상자를 열어야합니까? 모델 클래스 에서요?

답변

1

모델에 해당 데이터가 필요한 경우 입력 대화 상자를 열 수있는보기에서 데이터를 제공해야합니다.

당신은 여분의 매개 변수를 전달하고 호출하는 대신 뷰 클래스에서 호출하는 모델에 멤버 함수를 추가 할 수 있습니다 "일반"insertRows (당신은 그 중 하나의 새로운 기능에 insertRows를 호출 단지 beginInsertRows이 없습니다 및 endInsertRows).