在许多上位机中,当我们点击一个新的按钮,就会弹出一个新的窗口
在这一节中,我们将实现QT下的多窗口切换
QT的界面跳转一般常用的也就是通过信号-槽机制去实现
1.建立一个新的窗口
右键项目,选择新建文件,选择Qt设计师界面类
选择Dialog without Buttons
即可完成新建Ui窗口
2.设计跳转逻辑
当我们创立好后,我们现在有两个ui,代号分别为mainwindow和features
此时我们要实现在mainwindow中点击按钮,然后让features对应的界面出现
1.首先我们在mainwindow.h中增加一个信号
1 2 |
signals: void showfeatures(); |
2.我们在features.h中增加一个槽函数,用于处理收到的信号
1 2 |
private slots: void receivemainwindow(); |
3.在mainwindow.cpp的按钮处增加槽函数,使之可以激活信号
1 2 3 4 |
void MainWindow::on_begin_clicked() { emit showfeatures(); //激活信号 } |
4.同样还需要在features.cpp中增加showfeatures()槽函数的内容,用于显示该界面
1 2 3 4 |
void Features::receivemainwindow() { this->show(); } |
5.在这之前,既然我们已经定义好了一个信号和槽函数,那么我们就要思考如何把showfeatures
和receivemainwindow
打通
此处我们在main.cpp中用QObject中的connect负责打通这两个函数,使之产生关联
1 2 3 4 |
MainWindow w; Features f; QObject::connect(&w,SIGNAL(showfeatures()),&f,SLOT(receivemainwindow())); |
6.大功告成,快去看一下效果吧!