zoukankan      html  css  js  c++  java
  • qt--界面切换

    创建新界面类的方法:

    右击工程-->add new-->

    -->选择相应的窗体类

    方法一:信号槽函数法

    oneform.h

    #ifndef ONEFORM_H
    #define ONEFORM_H
    
    #include <QWidget>
    #include "twoform.h"  //要创建第二界面,所以需要第二界面的头文件
    
    QT_BEGIN_NAMESPACE
    namespace Ui { class oneform; }
    QT_END_NAMESPACE
    
    class oneform : public QWidget
    {
        Q_OBJECT
    
    public:
        oneform(QWidget *parent = nullptr);
        ~oneform();
    public slots:
        void one_two(void); //第一界面进入第二界面的槽函数
        void oneshow(void);  //显示界面1,隐藏界面2
    
    private:
        Ui::oneform *ui;
        twoform* win;  //创建第二界面
    };
    #endif // ONEFORM_H

    oneform.cpp

    #include "oneform.h"
    #include "ui_oneform.h"
    
    oneform::oneform(QWidget *parent)
        : QWidget(parent)
        , ui(new Ui::oneform)
    {
        ui->setupUi(this);
        connect(ui->pushButton,SIGNAL(clicked(void)),this,SLOT(one_two(void)));
        win=new twoform;  //创建界面2
        connect(win,SIGNAL(oneFunc(void)),this,SLOT(oneshow(void)));
        //接受界面2发送的信号
    
    }
    
    oneform::~oneform()
    {
        delete ui;
    }
    
    void oneform::one_two()
    {
    
        win->show();
        this->hide();
    }
    
    void oneform::oneshow()
    {
        this->show();
    
    }

    twoform.h

    #ifndef TWOFORM_H
    #define TWOFORM_H
    
    #include <QWidget>
    
    namespace Ui {
    class twoform;
    }
    
    class twoform : public QWidget
    {
        Q_OBJECT
    
    public:
        explicit twoform(QWidget *parent = nullptr);
        ~twoform();
    
    private:
        Ui::twoform *ui;
    public slots:
        void two_one(void); //第二界面进入第一界面的槽函数
    signals:
        void oneFunc(void);
    
    
    
    };
    
    #endif // TWOFORM_H

    twoform.cpp

    #include "twoform.h"
    #include "ui_twoform.h"
    
    twoform::twoform(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::twoform)
    {
        ui->setupUi(this);
        connect(ui->pushButton,SIGNAL(clicked(void)),this,SLOT(two_one(void)));
    }
    
    twoform::~twoform()
    {
        delete ui;
    }
    
    void twoform::two_one()
    {
        emit oneFunc(); //发射信号,通知界面1显示---界面1需要接受这个信号
        this->hide();
    }

    工程和视频教程下载:https://pan.baidu.com/s/1jgycJT4W_7QZLMlFvfo7zQ   提取码:6666    

    方法二:静态成员法

    工程和视频教程下载:https://pan.baidu.com/s/1V65MsG97amOVPt45ifnjIg    提取码:6666    

      

  • 相关阅读:
    日期操作
    sanchi
    502 Server dropped connection
    把项目挂载到composer上
    从composer上在本地创建一个项目
    初始化后,composer安装
    在项目目录初始化composer
    Linux安装composer
    linux网络编程之TCP/IP基础
    grep的用法
  • 原文地址:https://www.cnblogs.com/liming19680104/p/13997723.html
Copyright © 2011-2022 走看看