?第一個界面頭文件:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QIcon> //圖標頭文件
#include <QPushButton> //按鈕類頭文件
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT //有關(guān)信號與槽的元對象
public:
Widget(QWidget *parent = nullptr);
~Widget();
signals:
void my_signal();
public slots:
void btn1_slot();//自定義槽函數(shù)
private:
Ui::Widget *ui; //使用ui界面對應頭文件中的命名空間中的類定義的指針
QPushButton *btn1;
};
#endif // WIDGET_H
第一個界面源文件:
#include "widget.h" //引入自定義頭文件
#include "ui_widget.h" //引入ui界面的頭文件
Widget::Widget(QWidget *parent)
: QWidget(parent) //調(diào)用父類的有參構(gòu)造
, ui(new Ui::Widget) //構(gòu)造出ui界面拖拽的成員,并且將地址賦值給ui指針
{
ui->setupUi(this); //周用設(shè)置界面函數(shù),給ui界面上的組件申請空間
//設(shè)置窗口大小
this->resize(600,400);
//設(shè)置窗口標題
this->setWindowTitle("聊天室");
//設(shè)置窗口圖標
this->setWindowIcon(QIcon("E:\\嵌入式\\QT\\圖標庫\\icon_h8db9qyxft\\QQ.png"));
//添加按鈕
btn1=new QPushButton("登錄",this);
btn1->resize(100,50);
btn1->move(400,300);
btn1->setIcon(QIcon("E:\\photo\\9.jpg"));
//將按鈕1的clicked信號連接到自定義的信號中
connect(btn1,&QPushButton::clicked,this,&Widget::btn1_slot);
}
Widget::~Widget()
{
delete ui;
}
void Widget::btn1_slot()
{
//跳轉(zhuǎn)到第二個界面
emit my_signal();
//將自身界面關(guān)閉
this->close();
}
第二個界面頭文件:
#ifndef SECOND_H
#define SECOND_H
#include <QWidget>
namespace Ui {
class second;
}
class second : public QWidget
{
Q_OBJECT
public:
explicit second(QWidget *parent = nullptr);
~second();
public slots:
void jump_slot();
private:
Ui::second *ui;
};
#endif // SECOND_H
第二個界面源文件:
#include "second.h"
#include "ui_second.h"
second::second(QWidget *parent) :
QWidget(parent),
ui(new Ui::second)
{
ui->setupUi(this);
}
second::~second()
{
delete ui;
}
void second::jump_slot()
{
this->show();
}
測試文件:
#include "widget.h"
#include "second.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
second s;
QObject::connect(&w,&Widget::my_signal,&s,&second::jump_slot);
return a.exec();
}
效果:
?文章來源:http://www.zghlxwxcb.cn/news/detail-609906.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-609906.html
到了這里,關(guān)于QT--day2(信號與槽,多界面跳轉(zhuǎn))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!