VS2019+Qt5.14.2跨平台编程,qt designer多窗口设计(主窗口和子窗口切换)

 一,创建一个主窗口程序

1.利用vs(已经安装完qt拓展)创建一个主窗口程序

2.建立得到如图所示程序

3.接下来我们先在主窗口添加一个test按钮控件(为了演示后续的窗口切换),这一步我们直接在qt designer 里面添加,直接点击Form file 文件下的QtWidgetsApplication5.ui文件进入qt designer界面。然后进行按钮的添加,并修改按钮名称为test(方便后续操作,不修改也可以),然后点击保存,让vs中的ui文件进行更新

4.然后回到vs,右键Form file,点击添加,新建项

5.在添加选择界面先选择qt

6.选择一个主窗口文件,名字名为child.ui,然后点击添加,然后会自动跳转到qt designer界面,这就是我们的子窗口,然后可以对其进行设计(这一步,也可以在我们直接在主窗口的qt designer设计时,直接新建窗口文件,然后设计保存,也会自动保存主窗口的ui文件下)

7.我们设计一下子窗口,以便确认一会我们跳转的是我们自己设计的子窗口,而不是新建的窗口

8。然后回到vs,发现我们的child.ui文件并没有.h和.cpp文件,然后我们重复4,5步骤,不过这次我们是选择QT class,并且注意名称要和之前的ui文件同名。

9.点击打开child.h和child.cpp,我们发现继承的是QObuject,这里我们需要修改成继承QMainWindow,并且我们需要在child.h中添加UI命名空间的指针以便于加载我们设计的ui文件,并且在QtWidgetsApplication5.h中添加显示子窗口槽函数,并且在QtWidgetsApplication5.cpp中完成实现,在child.cpp中要完成ui的加载;

我将对应的代码放在下面,(在完成上述事情时,记得要添加对应的ui_childe.h文件)

QtWidgetsApplication5 .h

//QtWidgetsApplication5.h文件
#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_QtWidgetsApplication5.h"

class QtWidgetsApplication5 : public QMainWindow
{
    Q_OBJECT

public:
    QtWidgetsApplication5(QWidget *parent = nullptr);
    ~QtWidgetsApplication5();

private:
    Ui::QtWidgetsApplication5Class ui;
private slots:
    void showChildWindow();

};
//child.h文件代码
#pragma once

#include <QMainWindow>
#include "ui_child.h"

class child  : public QMainWindow
{
	Q_OBJECT

public:
	child(QMainWindow *parent = nullptr);
	~child();
private:
	Ui::MainWindow ui;
};

//child.cpp代码
#include "child.h"
#include "ui_child.h"

child::child(QMainWindow *parent)
	: QMainWindow(parent)
{
	ui.setupUi(this);
}

child::~child()
{
}

这是最终效果

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值