页面间跳转(信号与槽)
一、创建界面
要实现页面间的跳转首先你得创建两个或两个以上的界面。
可以通过
右键文件夹
选择
Add new
,再选择
QT
、
QT设计师界面
,然后
选择界面类型
,来创建一个新的页面。
二、添加控件
- 在你想要实现跳转的第一个引发跳转的页面上加入一个你后续想要实现页面跳转的控件。
三、实现跳转
-
右键触发跳转的控件,选择
转到槽
,会跳转页面并自动生成一个槽函数,此时不要管这个槽函数。
-
找到第一个引发跳转页面的.h文件;
-
进入之后在此文件下定义一个信号(此页面发射跳转信号);
signals:
void showmain();//显示想要显示的页面
- 回到第一次跳转生成的槽函数,并在槽函数中写入:
this->hide(); //屏蔽引发跳转界面,此处也可以不写,不写的时候这个页面不会被隐藏。
emit showmain(); //激活上一步书写的信号,让信号传送到特定页面
- 找到需要跳转到的页面的.h文件,并在文件中定义一个接收发射信号的槽:
private slots:
void recivelogin();//与发射信号的函数相关联的槽函数
- 到需要跳转到的页面的cpp文件下,实现刚刚定义的槽:
void personwindow::recivelogin(){
this->show();//显示这个界面
}
-
下面就是最重要的一步:
1.到main.cpp中加入需要跳转页面的头文件(如果已经有了就不需要再写了)。
2.创建一个需要跳转到的页面类的对象。
3.使用connect函数将你所定义的信号和槽连接起来,具体写法如下:
personwindow w2;
QObject::connect(&w, SIGNAL(showmain()),&w2,SLOT(recivelogin()));
(上图中的红框从上到下依次对应1、2、3步)。
此时再运行就可以实现页面跳转了。
版权声明:本文为Arela651原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。