Use QListView or QListWidget with checkable items.Originally Posted by Seema Rao
Use QListView or QListWidget with checkable items.Originally Posted by Seema Rao
You could use a QScrollArea too, inserting first all the check boxes in a widget...
Here is the full code with the modification suggested by you guys, but the problem is items appear multiple times when I resize the window. Am I wrong here ?
#include <QApplication>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication myapp(argc,argv);
QWidget *mywidget= new QWidget;
QListWidget *myedit = new QListWidget(mywidget);
QListWidgetItem *one= new QListWidgetItem("hotels",myedit);
one->setCheckState(Qt::Unchecked);
QListWidgetItem *two= new QListWidgetItem("Restaurants & Cafes",myedit);
two->setCheckState(Qt::Unchecked);
QListWidgetItem *three= new QListWidgetItem("Bars,Pubs & Clubs",myedit);
three->setCheckState(Qt::Unchecked);
QListWidgetItem *four= new QListWidgetItem("Trips & Activities",myedit);
four->setCheckState(Qt::Unchecked);
QListWidgetItem *five= new QListWidgetItem("Sites & Attractions",myedit);
five->setCheckState(Qt::Unchecked);
QListWidgetItem *six= new QListWidgetItem("Churches & Temples",myedit);
six->setCheckState(Qt::Unchecked);
QListWidgetItem *seven= new QListWidgetItem("Historic Buildings",myedit);
seven->setCheckState(Qt::Unchecked);
QListWidgetItem *eight= new QListWidgetItem("Museums",myedit);
eight->setCheckState(Qt::Unchecked);
QListWidgetItem *nine= new QListWidgetItem("Art Galleries",myedit);
nine->setCheckState(Qt::Unchecked);
QListWidgetItem *ten= new QListWidgetItem("Cinemas",myedit);
ten->setCheckState(Qt::Unchecked);
QListWidgetItem *eleven= new QListWidgetItem("Theater",myedit);
eleven->setCheckState(Qt::Unchecked);
QListWidgetItem *twelve= new QListWidgetItem("Dance",myedit);
twelve->setCheckState(Qt::Unchecked);
QListWidgetItem *thirteen= new QListWidgetItem("Live Music",myedit);
thirteen->setCheckState(Qt::Unchecked);
QListWidgetItem *fourteen= new QListWidgetItem("Stores & Markets",myedit);
fourteen->setCheckState(Qt::Unchecked);
QListWidgetItem *fifteen= new QListWidgetItem("Food & Wine",myedit);
fifteen->setCheckState(Qt::Unchecked);
QListWidgetItem *sixteen= new QListWidgetItem("Clothing & Fashion",myedit);
sixteen->setCheckState(Qt::Unchecked);
QListWidgetItem *seventeen= new QListWidgetItem("Jewelry & Accessories",myedit);
seventeen->setCheckState(Qt::Unchecked);
QListWidgetItem *eighteen= new QListWidgetItem("Shoes",myedit);
eighteen->setCheckState(Qt::Unchecked);
QListWidgetItem *nineteen= new QListWidgetItem("Antiques",myedit);
nineteen->setCheckState(Qt::Unchecked);
QListWidgetItem *twenty= new QListWidgetItem("Bookshops",myedit);
twenty->setCheckState(Qt::Unchecked);
myedit->addItem(one);
myedit->addItem(two);
myedit->addItem(three);
myedit->addItem(four);
myedit->addItem(five);
myedit->addItem(six);
myedit->addItem(seven);
myedit->addItem(eight);
myedit->addItem(nine);
myedit->addItem(ten);
myedit->addItem(eleven);
myedit->addItem(twelve);
myedit->addItem(thirteen);
myedit->addItem(fourteen);
myedit->addItem(fifteen);
myedit->addItem(sixteen);
myedit->addItem(seventeen);
myedit->addItem(eighteen);
myedit->addItem(nineteen);
myedit->addItem(twenty);
QHBoxLayout *lay= new QHBoxLayout(mywidget);
lay->addWidget(myedit);
mywidget->setLayout(lay);
mywidget->setGeometry(10,10,180,50);
mywidget->show();
return myapp.exec();
}
nielsenj (12th May 2006)
Everything is OK on my system (Qt 4.1.2, PLD Linux).Originally Posted by Seema Rao
Seema,
Remove the parents from your Item constructors or comment out the addIOtem calls. If you remove the parents the items should be automatically reparented by the addItem() call. I'm assuming by passing a listview parent the constructor is doing an implicit addItem on the parent.
Bookmarks