大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > 系统架构 > QT > 《大宇的Qt学习笔记》 > [002.03]两个独立的窗口

[002.03]两个独立的窗口

发布时间:2018/05/28 《大宇的Qt学习笔记》 标签两个独立的窗口阅读:146

前言:

前面学过了信号和槽,今天想做一个,点击窗口1某个控件,弹出窗口2,隐藏窗口1;点击窗口2某个控件,弹出窗口1,隐藏窗口2。

内容:

还是在原项目上添加内容,添加一个QPushButton:b3

给b3设置各种参数。

运行效果。

由于我们需要两个窗口的配合才能做出我需要的效果,我们需要重新创建一个窗口类。

创建新窗口类:

右键项目,添加文件。

选择C++ 》 C++ Class 》 Choose

选择基类和给类起名。

系统会自动为我们创建新建的两个文件。

在SubWidget.h里面添加一个控件:b。

给新建的窗口类SubWidget设置参数,给控件b设置显示参数和父子关系。

在主窗口头文件(.h)里面包含刚刚创建的SubWidget类的头文件

定义一个新窗口变量:SubWidget w。

新建一个槽函数,实现点击主窗口MyWidget上的b3的按钮

显示新窗口SubWidget,隐藏自己。

实现功能函数。

Ctrl+R运行,点击按钮b3,看效果。

效果如下:

我们现在实现的功能:

点击主窗口MyWidget的b3按钮,隐藏自己,弹出新窗口SubWidget。

我们需要实现的功能:

点击新窗口SubWidget的按钮b,隐藏新窗口SubWidget,显示主窗口MyWidget。

实现剩下的功能:

在SubWidget上添加一个信号:mySignal()

创建一个槽函数,保持信号槽创建规则。

CPP文件实现如下:
#include "SubWidget.h"

SubWidget::SubWidget(QWidget *parent) : QWidget(parent)
{
    this->setWindowTitle("SubWidget");
    b.setParent(this);
    b.setText("切换到主窗口");
    connect(&b,&QPushButton::clicked,this,&SubWidget::sendSlot);
    resize(400,300);
}
void SubWidget::sendSlot(){
    emit mySignal();
}

在MyWidget头文件中声明dealSub()函数,用来实现功能。

实现功能函数。

 

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu
相关推荐

您好!请登录

合作网站快捷登录:
点击取消回复

已有1评论

    大宇博客

    点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息