最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

QT學(xué)記三:多界面跳轉(zhuǎn)

2021-11-21 20:50 作者:風(fēng)菩提樹  | 我要投稿

1.新建一個(gè)新界面

在Qt中,創(chuàng)建一個(gè)界面類的方式和設(shè)置

第一步:

右擊項(xiàng)目 ---- > new(創(chuàng)建文件),在彈出的對(duì)話框中,選擇Qt設(shè)計(jì)師界面類。Qt設(shè)計(jì)師界面類會(huì)包含.ui,.h兩個(gè)文件,而Qt Designer Form僅創(chuàng)建.ui文件,需在原有的.h文件上進(jìn)行修改才

能正常進(jìn)行。后者主要用于如果在創(chuàng)建項(xiàng)目過程中,未勾選生成.ui文件,可以通過后續(xù)的操作來增加。

第二步:選擇下一步,在彈出的對(duì)話框,選擇界面的模板

第三步:選擇下一步,設(shè)置界面類的名字

第四步:點(diǎn)擊下一步,完成 即可。adminwindow.cpp 進(jìn)行程序結(jié)構(gòu)設(shè)計(jì),adminwindow.ui是界面設(shè)計(jì)文件,adminwindow.h是頭文件。

2.界面跳轉(zhuǎn)的方式一

該方式是不保留上一個(gè)界面,直接釋放掉它,若是返回的話,是新建一個(gè)界面ui。

3.界面跳轉(zhuǎn)的方式二

該方式是保留上一個(gè)界面的內(nèi)存,當(dāng)點(diǎn)擊返回后,會(huì)返回該內(nèi)存中的界面,也就是跳轉(zhuǎn)到第二個(gè)界面時(shí),第一個(gè)界面是還在的,只是不顯示給你看。

4.界面設(shè)計(jì)

MainWindow的界面

AddMainWindow的界面

5.方式一的mainwindow程序設(shè)計(jì)

7.方式二的mainwindow程序設(shè)計(jì)

結(jié)果:

9.界面跳轉(zhuǎn)之?dāng)y帶數(shù)據(jù)跳轉(zhuǎn)

攜帶數(shù)據(jù)跳轉(zhuǎn),其實(shí)利用的是信號(hào)和槽來進(jìn)行數(shù)據(jù)的傳遞的。在信號(hào)中帶上形參,在槽函數(shù)中也帶上一樣的形參。如下:

10.MainWindow中進(jìn)行數(shù)據(jù)的攜帶跳轉(zhuǎn)

11.AddMainWindow界面接收字符串

結(jié)果:

https://www.bilibili.com/video/BV1Fq4y1r7zA?spm_id_from=333.999.0.0

代碼:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
 ? ?Q_OBJECT

public:
 ? ?MainWindow(QWidget *parent = nullptr);
 ? ?~MainWindow();

private slots:
 ? ?void on_TiaoZhuan_clicked();
signals:
 ? ?void sendData(QString data);
private:
 ? ?Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "addmainwindow.h"
MainWindow::MainWindow(QWidget *parent)
 ? ?: QMainWindow(parent)
 ? ?, ui(new Ui::MainWindow)
{
 ? ?ui->setupUi(this);
}

MainWindow::~MainWindow()
{
 ? ?delete ui;
}


void MainWindow::on_TiaoZhuan_clicked()
{
 ? AddMainWindow *aw = new AddMainWindow();
 ? connect(this,&MainWindow::sendData,aw,&AddMainWindow::getDataFromMainW);

 ? aw->show();
 ? emit sendData("hello world!AddMainWindow");
 ? this->close();
}

addmaindow.h

#ifndef ADDMAINWINDOW_H
#define ADDMAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class AddMainWindow;
}

class AddMainWindow : public QMainWindow
{
 ? ?Q_OBJECT

public:
 ? ?explicit AddMainWindow(QWidget *parent = nullptr);
 ? ?~AddMainWindow();
public slots:
 ? ?void getDataFromMainW(QString data);
private slots:

 ? ?void on_Return_clicked();

private:
 ? ?Ui::AddMainWindow *ui;
};

#endif // ADDMAINWINDOW_H

addmainwindow.cpp

#include "addmainwindow.h"
#include "ui_addmainwindow.h"
#include "mainwindow.h"
#include <QMessageBox>
AddMainWindow::AddMainWindow(QWidget *parent) :
 ? ?QMainWindow(parent),
 ? ?ui(new Ui::AddMainWindow)
{
 ? ?ui->setupUi(this);
}

AddMainWindow::~AddMainWindow()
{
 ? ?delete ui;
}

void AddMainWindow::getDataFromMainW(QString data)
{
 ? ?QMessageBox mes(this);
 ? ?mes.setText(data);
 ? ?mes.exec();
}

void AddMainWindow::on_Return_clicked()
{
 ? ?MainWindow *mw = new MainWindow();
 ? ?mw->show();
 ? ?this->close();
}

三連,走起來!^_^3333


QT學(xué)記三:多界面跳轉(zhuǎn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
全州县| 韶山市| 安吉县| 桐柏县| 石林| 凯里市| 鄂托克前旗| 延吉市| 英德市| 苏尼特右旗| 宁阳县| 毕节市| 河间市| 盘锦市| 台山市| 长宁县| 西青区| 卢龙县| 河西区| 东宁县| 青田县| 漠河县| 珲春市| 招远市| 宁国市| 苏尼特左旗| 砀山县| 霍林郭勒市| 涟水县| 闵行区| 西乌珠穆沁旗| 土默特左旗| 新昌县| 开原市| 灵石县| 中西区| 东方市| 陇西县| 惠来县| 白城市| 小金县|