main.cpp Example File
listwidget/main.cpp#include <QwwListWidget> #include <QApplication> #include <QLayout> #include <QToolButton> #include <QInputDialog> #include <QwwListNavigator> class Widget : public QWidget { Q_OBJECT public: Widget() : QWidget() { listWidget = new QwwListWidget; listWidget->addItems(QStringList() << "A" << "B" << "C" << "D"); QToolButton *add = new QToolButton; add->setText(tr("Add")); QToolButton *rem = new QToolButton; rem->setText(tr("Remove")); QToolButton *up = new QToolButton; up->setText(tr("Up")); QToolButton *down = new QToolButton; down->setText(tr("Down")); QHBoxLayout *hlayout = new QHBoxLayout; hlayout->addWidget(add); hlayout->addWidget(rem); hlayout->addStretch(); hlayout->addWidget(up); hlayout->addWidget(down); QHBoxLayout *wl = new QHBoxLayout; wl->addWidget(listWidget); nav = new QwwListNavigator; nav->setOrientation(Qt::Vertical); wl->addWidget(nav); nav->setListWidget(listWidget); QVBoxLayout *l = new QVBoxLayout(this); l->addLayout(wl); l->addLayout(hlayout); connect(add, SIGNAL(clicked()), this, SLOT(addItem())); connect(rem, SIGNAL(clicked()), listWidget, SLOT(removeCurrent())); connect(up, SIGNAL(clicked()), listWidget, SLOT(moveCurrentUp())); connect(down, SIGNAL(clicked()), listWidget, SLOT(moveCurrentDown())); connect(listWidget, SIGNAL(currentAvailable(bool)), rem, SLOT(setEnabled( bool ))); connect(listWidget, SIGNAL(moveUpAvailable(bool)), up, SLOT(setEnabled( bool ))); connect(listWidget, SIGNAL(moveDownAvailable(bool)), down, SLOT(setEnabled( bool ))); listWidget->setCurrentRow(0); } private slots: void addItem() { QString i = QInputDialog::getText(this, tr("Add item"), tr("Enter item text")); if (i.isEmpty()) return; listWidget->addItem(i); listWidget->setCurrentRow(listWidget->count()-1); } protected: QwwListWidget *listWidget; QwwListNavigator *nav; }; #include "main.moc" int main(int argc, char **argv) { QApplication app(argc, argv); Widget w; w.show(); return app.exec(); }