栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Qt--两个窗口&自定义信号

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt--两个窗口&自定义信号

主窗口头文件

#ifndef MAINWIDGET_H
#define MAINWIDGET_H

#include 
#include 
#include "subwidget.h"

class MainWidget : public QWidget
{
    Q_OBJECT

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

    void changeWin();
    void dealSub();
private:

    QPushButton mb;

    SubWidget sw;
};
#endif // MAINWIDGET_H
#include "mainwidget.h"
#include
MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent)
{
    this->setWindowTitle(QStringLiteral("我是老板主窗口"));
    mb.setParent(this);
    mb.setText("ToSub");
    mb.move(50,50);

    //显示子窗口
    //subw.show();
    connect(&mb,&QPushButton::released,this,&MainWidget::changeWin);

    //处理子窗口的信号
    connect(&sw,&SubWidget::mySingal,this,&MainWidget::dealSub);
    resize(500,500);
}

void MainWidget::changeWin()
{
    sw.show();
    this->hide();
}

void MainWidget::dealSub()
{
    sw.hide();
    this->show();
}

    MainWidget::~MainWidget()
{
}

主窗口源文件

#include "mainwidget.h"
#include
MainWidget::MainWidget(QWidget *parent)
    : QWidget(parent)
{
    this->setWindowTitle(QStringLiteral("我是老板主窗口"));
    mb.setParent(this);
    mb.setText("ToSub");
    mb.move(50,50);

    //显示子窗口
    //subw.show();
    connect(&mb,&QPushButton::released,this,&MainWidget::changeWin);

    //处理子窗口的信号
    connect(&sw,&SubWidget::mySingal,this,&MainWidget::dealSub);
    resize(500,500);
}

void MainWidget::changeWin()
{
    sw.show();
    this->hide();
}

void MainWidget::dealSub()
{
    sw.hide();
    this->show();
}

    MainWidget::~MainWidget()
{
}

子窗口头文件

#ifndef SUBWIDGET_H
#define SUBWIDGET_H

#include 
#include
class SubWidget : public QWidget
{
    Q_OBJECT
public:
    explicit SubWidget(QWidget *parent = nullptr);

    void sendSlot();
signals:
    
    void mySingal();
private:
    QPushButton sb;
};

#endif // SUBWIDGET_H

子窗口源文件

#include "subwidget.h"

SubWidget::SubWidget(QWidget *parent) : QWidget(parent)
{
    this->setWindowTitle("我是公司的好员工");
    sb.setParent(this);
    sb.setText("ToBOSS");
    sb.move(50,50);
    connect(&sb,&QPushButton::clicked,this,&SubWidget::sendSlot);
    resize(500,500);
}
void SubWidget::sendSlot() //函数的功能就是发送我们自定义的信号
{
    emit mySingal(); //子窗口自定义信号
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630406.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号