2013-11-20 5 views
5

У меня есть QListView, который содержит 5 элементов. (Америка, Канада, Дания, Египет, Финляндия) в моем QListView. Теперь я хочу установить общий заголовок для всех этих элементов как СТРАНЫ. Как установить заголовок в QListView. Пожалуйста помоги.Как установить заголовок в QListView

+7

Документация QListView гласит: * В этом представлении не отображаются горизонтальные или вертикальные заголовки; для отображения списка элементов с горизонтальным заголовком вместо этого используйте QTreeView. * –

+0

Во-первых, если вы используете QListView, вы будете использовать модель. Если вы используете модель, подкласс, она просто перегружает функцию-член 'headerData (int, Qt :: Orientation, const QVariant &, int)', чтобы дать заголовок. – Marcus

ответ

0

Ну, вы не можете напрямую, но вы можете это сделать.

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); 


    } 

Выходной сигнал будет, как:

enter image description here

Кроме того, вы можете изменить ориентацию, выравнивание и другие вещи на этикетке. Хорошее кодирование :)

Смежные вопросы