引用传参

#include "widget.h"
#include <QVBoxLayout>
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QPushButton *button=new QPushButton(QString::fromLocal8Bit("Button"),this);
    QVBoxLayout *layout=new QVBoxLayout(this);
    layout->addWidget(button);
    setLayout(layout);
    myScanf(m_list);
    connect(button,&QPushButton::clicked, this, &Widget::myPrint);
    resize(200, 100);
}
void Widget::myScanf(QList<QStringList> &list)
{
    for(int i=0;i<5;i++)
    {
        QStringList strList;
        for(int j=0;j<9;j++)
        {
            strList<<QString("hrlok %1").arg(j);
        }
        list.append(strList);
    }
}

void Widget::myPrint()
{
    for(int i=0; i<m_list.size();i++)
       qDebug()<<m_list.at(i);
}
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QList>
#include <QStringList>
#include <QString>
#include <QPushButton>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget(){};
    void myScanf(QList<QStringList> &list);
    QList<QStringList> m_list;
protected slots:
    void myPrint();
};

#endif // WIDGET_H
#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}
按键按下,输出
("hrlok 0", "hrlok 1", "hrlok 2", "hrlok 3", "hrlok 4", "hrlok 5", "hrlok 6", "hrlok 7", "hrlok 8")
("hrlok 0", "hrlok 1", "hrlok 2", "hrlok 3", "hrlok 4", "hrlok 5", "hrlok 6", "hrlok 7", "hrlok 8")
("hrlok 0", "hrlok 1", "hrlok 2", "hrlok 3", "hrlok 4", "hrlok 5", "hrlok 6", "hrlok 7", "hrlok 8")
("hrlok 0", "hrlok 1", "hrlok 2", "hrlok 3", "hrlok 4", "hrlok 5", "hrlok 6", "hrlok 7", "hrlok 8")
("hrlok 0", "hrlok 1", "hrlok 2", "hrlok 3", "hrlok 4", "hrlok 5", "hrlok 6", "hrlok 7", "hrlok 8")

猜你喜欢

转载自www.cnblogs.com/wangbin-heng/p/10067595.html