2013-11-20 127 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

此外,你可以通過標籤改變方向,校準和其他東西。良好的編碼:)