2013-11-20 9 views
5

QListView에 5 개의 항목이있는 이 있습니다. 내 QListView에 (미국, 캐나다, 덴마크, 이집트, 핀란드)라고 말하십시오. 이제이 항목들에 대한 헤더를 모두으로 설정하고 싶습니다. QListView 머리글을 어떻게 설정할 수 있습니다. 도와주세요.헤더를 QListView로 설정하는 방법

+7

QListView 설명서는 말합니다 : *이보기는 수평 또는 수직 헤더를 표시하지 않습니다; 수평 헤더가있는 항목 목록을 표시하려면 대신 QTreeView를 사용하십시오. * –

+0

먼저 QListView를 사용하는 경우 모델을 사용하게됩니다. 모델을 사용하고 있다면, 헤더를 제공하기 위해 서브 클래스를 사용하여 멤버 함수'headerData (int, Qt :: Orientation, const QVariant &, int) '를 오버로드하면됩니다. – Marcus

답변

0

글쎄, 직접 할 수는 없지만 그렇게 할 수는 있습니다. 또한

enter image description here

, 당신은 레이블로 방향 정렬과 다른 일을 변경할 수 있습니다처럼

mHb = new QHBoxLayout; 
    { 

     QVBoxLayout *tInnerVB = new QVBoxLayout; 
     { 
      QLabel *tHeader = new QLabel("Team List"); 
      tHeader->setFont(QFont("FontAwesome")); 
      tInnerVB->addWidget(tHeader); 

      mTeamViewModel->setStringList(BDatabase::instance()->getTeamList()); 
      mLeTeamList->setModel(mTeamViewModel); 
      tInnerVB->addWidget(mLeTeamList); 

     } 
     mHb->addLayout(tInnerVB); 

     tInnerVB = new QVBoxLayout; 
     { 
      QLabel *tHeader = new QLabel("Team Members"); 
      tHeader->setFont(QFont("FontAwesome")); 
      tInnerVB->addWidget(tHeader); 

      mMembersViewModel->setStringList(QStringList()); 
      mLeTeamMembers->setModel(mMembersViewModel); 
      tInnerVB->addWidget(mLeTeamMembers); 

     } 
     mHb->addLayout(tInnerVB); 


    } 

출력 될 것입니다. 좋은 코딩 :)