這一節我們來介紹QListWidget的用法,QListWidget、QTreeWidget和QTableWidget都是將模型和視圖結合起來,QListWidget將其顯示效果與MFC的ListCtrl控件是一樣一樣的,下面是其簡單的使用。就一個main.cpp
#include <QtGui/QApplication> #include <QWidget> #include <QLabel> #include <QListWidget> #include <QHBoxLayout> #include <QIcon> int main(int argc, char *argv[]) { QApplication a(argc, argv); QLabel *label = new QLabel; label->setFixedWidth(100); QListWidget *listWidget = new QListWidget; listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/china.png")), QObject::tr("China"))); listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/hk.png")), QObject::tr("Hong Kong"))); listWidget->addItem(new QListWidgetItem(QIcon(QObject::tr("images/macau.png")), QObject::tr("Macau"))); QHBoxLayout *mainlayout = new QHBoxLayout; mainlayout->addWidget(listWidget); mainlayout->addWidget(label); QObject::connect(listWidget, SIGNAL(currentTextChanged(QString)), label, SLOT(setText(QString))); QWidget *widget = new QWidget; widget->setLayout(mainlayout); widget->setWindowTitle(QObject::tr("QListWidget Demo")); widget->show(); return a.exec(); }
運行界面如下: