QListWidget和QListWidgetItem的简单使用

QListWidget可以显示一个清单,清单中的每个项目是QListWidgetItem的一个实例,每个项目可以通过QListWidgetItem来操作。可以通过QListWidgetItem来设置每个项目的图像与文字。下面说明3个例子,一个例子只显示文字,一个例子显示文字和图标,最后一个例子增加每个项的选择的信号。


例子1:


#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(); }

 

运行如下图:

 

 

QListWidget和QListWidgetItem的简单使用_第1张图片

 

 

第2个例子:


#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(); }

 

运行如下图:

 

QListWidget和QListWidgetItem的简单使用_第2张图片

 

第3个例子:

 

#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(); }

 

运行如下图:

 

QListWidget和QListWidgetItem的简单使用_第3张图片

你可能感兴趣的:(layout,Signal)