vs2015+qt 窗口弹出、布局、传值

1、在vs中创建一个新项目,添加类,并进行窗口界面设计,具体设计结果如下图:

(1)以上是主窗口的界面设计,如上图。

 (2)子窗口界面设计,如上图。

 (3)上面的图,是第二个子窗口的界面设计。

2、进入vs中,进行代码编辑。具体如下:

(1)demo1.h文件内容如下:

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_demo1.h"
#include "new_windows.h"
#include "Newwindows2.h"
class demo1 : public QMainWindow
{
	Q_OBJECT

public:
	demo1(QWidget *parent = Q_NULLPTR);

private:
	Ui::demo1Class ui;
	new_windows *new_win;

	private slots:
	void onpushButton();
};

 (2)demo1.cpp文件代码如下:

#include "demo1.h"


demo1::demo1(QWidget *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
	connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onpushButton()));
}

void demo1::onpushButton()
{
	new_win = new new_windows();  //将类指针实例化
	new_win->show();
}

(3)new_windows.cpp文件代码如下(第一个子窗口,与主窗口的按钮有连接)

#include "new_windows.h"

QString t1, t2, t3, t4, t5, t6;  //定义全局变量

new_windows::new_windows(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	connect(ui.pushButton, SIGNAL(clicked()), this, SLOT(onpushButton()));
	connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(onpushButton_2()));
}

new_windows::~new_windows()
{
}

void new_windows::onpushButton()
{
	this->close();
}

void new_windows::onpushButton_2()
{
	t1.clear();
	t1 = ui.lineEdit->text();
	t1.append('\n');
	t1.append(ui.lineEdit_2->text());
	t1.append('\n');
	t1.append(ui.comboBox->currentText());

	t2.clear();
	t2.append('\n');
	t2.append(ui.lineEdit_3->text());
	t2.append('\n');
	t2.append(ui.lineEdit_4->text());
	t2.append('\n');
	t2.append(ui.lineEdit_5->text());
	
	t3.clear();
	t3.append('\n');
	t3.append(ui.comboBox_2->currentText());
	t3.append('\n');
	t3.append(ui.comboBox_3->currentText());
	t3.append('\n');
	t3.append(ui.comboBox_4->currentText());
	t3.append('\n');

	t4.clear();
	t4.append(ui.lineEdit_6->text());
	t4.append('\n');
	t4.append(ui.lineEdit_7->text());
	t4.append('\n');
	t4.append(ui.lineEdit_8->text());
	t4.append('\n');

	t5.clear();
	t5.append(ui.comboBox_5->currentText());
	t5.append('\n');
	t5.append(ui.comboBox_6->currentText());
	t5.append('\n');
	t5.append(ui.comboBox_7->currentText());
	t5.append('\n');

	t6.clear();
	t6.append(ui.comboBox_8->currentText());
	t6.append('\n');

	new_win2 = new Newwindows2();  //将类指针实例化
	new_win2->show();
}

 (4)new_windows.h文件代码如下:

#pragma once

#include <QWidget>
#include "ui_new_windows.h"
#include "Newwindows2.h"


class new_windows : public QWidget
{
	Q_OBJECT

public:
	new_windows(QWidget *parent = Q_NULLPTR);
	~new_windows();

	Newwindows2 *new_win2;

private:
	Ui::new_windows ui;

	private slots:
	void onpushButton();
	void onpushButton_2();

};

(5)Newwindows2.h文件代码如下:

#pragma once

#include <QWidget>
#include "ui_Newwindows2.h"

class Newwindows2 : public QWidget
{
	Q_OBJECT

public:
	Newwindows2(QWidget *parent = Q_NULLPTR);
	~Newwindows2();

private:
	Ui::Newwindows2 ui;
};

(6) Newwindows2.cpp文件代码如下:

#include "Newwindows2.h"

extern QString t1, t2, t3, t4, t5, t6;

Newwindows2::Newwindows2(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	ui.textEdit->insertPlainText(t1);
	ui.textEdit_2->insertPlainText(t2);
	ui.textEdit_3->insertPlainText(t3);
	ui.textEdit_4->insertPlainText(t4);
	ui.textEdit_5->insertPlainText(t5);
	ui.textEdit_6->insertPlainText(t6);
}

Newwindows2::~Newwindows2()
{

}

3、程序运行结果如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值