实现效果
c++两种方法实现列表_#include
代码如下:

#include <QApplication>
#include <QWidget>
#include <QListWidget>
#include <QLabel>
#include <QListWidgetItem>

using namespace std;

class QMyLabel:public QLabel
{
Q_OBJECT
public slots:
void rsetText(QListWidgetItem *item);
};

void QMyLabel::rsetText(QListWidgetItem *item){
this->setText(item->text());
}

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//MainWindow w;
//w.show();
//创建一个窗口,作为输入框的父窗口
QWidget widget;
//设置窗口的标题
widget.setWindowTitle("QWidget窗口");
widget.resize(500,500);

QListWidget listWidget(&widget);

listWidget.resize(500,400);
listWidget.setFont(QFont("宋体",14));
listWidget.addItem("hello china");
listWidget.addItem("hello beijing");
listWidget.addItem(new QListWidgetItem("hello hangzhou"));

QMyLabel ml;
ml.setText("选中内容");
ml.setParent(&widget);
ml.resize(500,100);
ml.move(0,400);
ml.setAlignment(Qt::AlignCenter);


QObject::connect(&listWidget,&QListWidget::itemClicked,&ml,&QMyLabel::rsetText);
widget.show();



return a.exec();
}
#include "main.moc"

除了上面这种办法。还可以把类的声明放到头文件中
头文件如下

#ifndef M_H
#define M_H
#include <QLabel>
#include <QListWidgetItem>

class QMyLabel;

class QMyLabel:public QLabel
{
Q_OBJECT
public slots:
void rsetText(QListWidgetItem *item);
};
#endif // M_H

main.cpp代码如下

#include "m.h"
#include <QApplication>
#include <QWidget>
#include <QListWidget>
#include <QLabel>
#include <QListWidgetItem>

using namespace std;



void QMyLabel::rsetText(QListWidgetItem *item){
this->setText(item->text());
}

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//MainWindow w;
//w.show();
//创建一个窗口,作为输入框的父窗口
QWidget widget;
//设置窗口的标题
widget.setWindowTitle("QWidget窗口");
widget.resize(500,500);

QListWidget listWidget(&widget);

listWidget.resize(500,400);
listWidget.setFont(QFont("宋体",14));
listWidget.addItem("hello china");
listWidget.addItem("hello beijing");
listWidget.addItem(new QListWidgetItem("hello hangzhou"));

QMyLabel ml;
ml.setText("选中内容");
ml.setParent(&widget);
ml.resize(500,100);
ml.move(0,400);
ml.setAlignment(Qt::AlignCenter);


QObject::connect(&listWidget,&QListWidget::itemClicked,&ml,&QMyLabel::rsetText);
widget.show();



return a.exec();
}