QListWidget可以顯示一個項目清單,清單中每個項目是QListWidgetItem的實例,每個項目可以設定文字與圖像,以供使用者進行項目的選擇,以下來示範一個簡單的例子:
#include <QApplication>
#include <QHBoxLayout>
#include <QLabel>
#include <QListWidget>
int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QWidget *window = new QWidget;
    window->setWindowTitle("QListWidget & Item");
    QLabel *label = new QLabel;
    label->setFixedWidth (100);
    
    QListWidget *listWidget = new QListWidget;
    listWidget->insertItem(0, new QListWidgetItem(
                   QIcon("caterpillar_head.jpg"), "caterpillar"));
    listWidget->insertItem(1, new QListWidgetItem(
                   QIcon("momor_head.jpg"), "momor"));
    listWidget->insertItem(2, new QListWidgetItem(
                   QIcon("bush_head.jpg"), "bush"));
    listWidget->insertItem(3, new QListWidgetItem(
                   QIcon("bee_head.jpg"), "bee"));
    listWidget->insertItem(4, new QListWidgetItem(
                   QIcon("cat_head.jpg"), "cat"));
                   
    QObject::connect(listWidget, SIGNAL(currentTextChanged (const QString &)),
                     label, SLOT(setText(const QString &)));
                   
    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWidget(label);
    layout->addWidget(listWidget);
    
    window->setLayout(layout); 
    window->show();
    return app.exec();
}程式中設定了兩個元件,QLabel與QListWidget,並連接QListWidget的currentTextChanged()及setText(),當您選擇清單中的項目時,QLabel會顯示目前清單中所選中的項目。QListWidgetItem還可以使用setCheckState()方法設定是否具備核取方塊。
下圖為執行時的畫面:

您也可以設定QListWidget的setViewMode(),它繼承自QListView,可以設定QListView::ListMode、 QListView::IconMode,設定為QListView::IconMode可以以大圖示顯示,例如:
listWidget->setViewMode(QListView::IconMode);
      
      
      設定為大圖示的畫面如下所示:


