QListWidget可以顯示一個清單,清單中的每個項目是QListWidgetItem的一個實例,每個項目可以通過QListWidgetItem來操作。可以通過QListWidgetItem來設置每個項目的圖像與文字。下面說明3個例子,一個例子只顯示文字,一個例子顯示文字和圖標,最后一個例子增加每個項的選擇的信號。
例子1:
[cpp] view plain copyPRint?#include <Qapplication> #include <QWidget> #include <QVBoxLayout> #include <QListWidget> #include <QListWidgetItem> int main(int argc, char** argv) { QApplication app(argc, argv); QWidget* widget = new QWidget; QListWidget* listWidget = new QListWidget; QVBoxLayout* layout = new QVBoxLayout; QListWidgetItem* lst1 = new QListWidgetItem("data", listWidget); QListWidgetItem* lst2 = new QListWidgetItem("decision", listWidget); QListWidgetItem* lst3 = new QListWidgetItem("document", listWidget); QListWidgetItem* lst4 = new QListWidgetItem("process", listWidget); QListWidgetItem* lst5 = new QListWidgetItem("printer", listWidget); listWidget->insertItem(1, lst1); listWidget->insertItem(2, lst2); listWidget->insertItem(3, lst3); listWidget->insertItem(4, lst4); listWidget->insertItem(5, lst5); listWidget->show(); layout->addWidget(listWidget); widget->setLayout(layout); widget->show(); app.exec(); }
運行如下圖:

第2個例子:
[cpp] view plain copyprint?#include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QListWidget> #include <QListWidgetItem> int main(int argc, char** argv) { QApplication app(argc, argv); QWidget* widget = new QWidget; QListWidget* listWidget = new QListWidget; QVBoxLayout* layout = new QVBoxLayout; QListWidgetItem* lst1 = new QListWidgetItem(QIcon("images/data.png"), "data", listWidget); QListWidgetItem* lst2 = new QListWidgetItem(QIcon("images/decision.png"), "decision", listWidget); QListWidgetItem* lst3 = new QListWidgetItem(QIcon("images/document.png"), "document", listWidget); QListWidgetItem* lst4 = new QListWidgetItem(QIcon("images/process.png"), "process", listWidget); QListWidgetItem* lst5 = new QListWidgetItem(QIcon("images/printer.png"), "printer", listWidget); listWidget->insertItem(1, lst1); listWidget->insertItem(2, lst2); listWidget->insertItem(3, lst3); listWidget->insertItem(4, lst4); listWidget->insertItem(5, lst5); listWidget->show(); layout->addWidget(listWidget); widget->setLayout(layout); widget->show(); app.exec(); }
運行如下圖:

第3個例子:
[cpp] view plain copyprint?#include <QApplication> #include <QWidget> #include <QHBoxLayout> #include <QListWidget> #include <QListWidgetItem> #include <QLabel> int main(int argc, char** argv) { QApplication app(argc, argv); QWidget* widget = new QWidget; QListWidget* listWidget = new QListWidget; QHBoxLayout* layout = new QHBoxLayout; QLabel* label = new QLabel; label->setFixedWidth(100); QListWidgetItem* lst1 = new QListWidgetItem(QIcon("images/data.png"), "data", listWidget); QListWidgetItem* lst2 = new QListWidgetItem(QIcon("images/decision.png"), "decision", listWidget); QListWidgetItem* lst3 = new QListWidgetItem(QIcon("images/document.png"), "document", listWidget); QListWidgetItem* lst4 = new QListWidgetItem(QIcon("images/process.png"), "process", listWidget); QListWidgetItem* lst5 = new QListWidgetItem(QIcon("images/printer.png"), "printer", listWidget); listWidget->insertItem(1, lst1); listWidget->insertItem(2, lst2); listWidget->insertItem(3, lst3); listWidget->insertItem(4, lst4); listWidget->insertItem(5, lst5); QObject::connect(listWidget, SIGNAL(currentTextChanged(const QString &)), label, SLOT(setText(const QString &))); listWidget->show(); layout->addWidget(listWidget); layout->addWidget(label); widget->setLayout(layout); widget->show(); app.exec(); }

運行如下圖:

新聞熱點
疑難解答