I am having a QListView which has 5 items in it. say(America, Canada, Denmark, Egypt, Finland) in my QListView. Now i want to set a common Header for all this items as COUNTRIES. How can i set a Header to a QListView. Please Help.
Asked
Active
Viewed 1.2k times
6
-
7The QListView documentation says : *This view does not display horizontal or vertical headers; to display a list of items with a horizontal header, use QTreeView instead.* – Dimitry Ernot Nov 20 '13 at 10:45
-
Firstly, if you are using QListView, you'll be using a model. If you are using a model, subclass it just overload the member function `headerData ( int, Qt::Orientation, const QVariant &, int )` to give the header. – Marcus Mar 24 '16 at 17:11
1 Answers
3
Well, you can not directly but, you can do this.
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);
}
The output would be like:
Moreover, you can change orientation, alignment and other things by the label. Good coding :)

Alexander Farber
- 21,519
- 75
- 241
- 416

john whitegun
- 149
- 6