http://blog.csdn.net/apple8422/article/details/72861596
QT的界面跳转一般常用的也就是通过信号-槽机制去实现,那什么是信号-槽呢?按我自己的理解来说,就是好比如人(相当于信号)和游泳池(相当于槽)。当人觉得天气很热想去游泳了,就会去找游泳池游泳,换成专业点的说法就是当触发某个事件时,将触发信号传送到特定位置执行相关操作。
那么我将以登陆界面跳转主界面为例子:(登陆界面类名为login,主界面类名为mainwindow)
(1) 首先我们要创建项目
这里需要注意是继承QMainWindow,作为以后的主界面
(2) 之后再新增一个类,用于设计和实现登陆界面的功能。(右键——)新增新文件)
之后选择Dialog without Buttons后点击下一步,修改类名点击确定即可完成新文件的添加。
(3) 设计登陆界面,以下是我的设计界面(2个lineEdit,2个Label和一个pushButton)
(4) 实现QT页面跳转功能
接下来将开始实现QT页面跳转功能,在(3)的页面中,右键pushbutton按钮,选择转为槽
之后选择clicked()即可。页面也就会跳转到login.cpp让你写clicked()函数的实现代码了。
回到login.h里面,可以看到多了以下一样东西
Slots也就是槽的意思,作用我待会往下再说。
此时我要在此页面增加一个信号,用于将此信号传送给其他页面,以实现页面跳转功能。
此函数不需要在CPP文件实现,因为它只作为信号进行传输到特定页面即可,俗话说就是制作人出来,让人去找游泳池。
下面给出clicked的函数实现代码
(5) 回到mainwindow.h文件中,添加以下方框的代码。
添加的是槽函数,也就是游泳池了,槽函数也是接受到与其相关相联系信号后执行相关操作的函数,也就是人(信号)只要到了游泳池(槽),也就会去游泳了。
其槽函数实现也很简单,就是让它显示即可。
(6) 最后还需要将信号与槽函数建立联系,在main.cpp文件中添加以下代码
其实主要的是connect这个函数,是设置将哪个信号传送哪个页面,这也就实现了QT跳转页面的功能了。