在(3)的基础上改进,主文件main.cpp没有变化。新添加的是带参的信号槽 以及Lambda的解决方式。
//mainwidget.h
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
#include <QPushButton>
#include "subwidget.h" //子窗口头文件
class MainWidget : public QWidget
{
Q_OBJECT
public:
MainWidget(QWidget *parent = 0);
~MainWidget();
void mySlot();
void changeWin();
void dealSub();
void dealSlot(int,QString);
private:
QPushButton b1;
QPushButton *b2;
QPushButton b3;
SubWidget subWin;
};
#endif // MAINWIDGET_H
//mainwdget.cpp 主窗口的操作
#include "mainwidget.h"
#include <QPushButton>
#include <QDebug> //打印
MainWidget::MainWidget(QWidget *parent)
: QWidget(parent)
{
b1.setParent(this);
b1.setText("CLOSE!");
b1.move(100,100);
b2= new QPushButton(this); //b2是pointer
b2->setText("abc");
/*