200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Qt中登录界面跳转到主界面的两种方法

Qt中登录界面跳转到主界面的两种方法

时间:2020-05-18 12:56:37

相关推荐

Qt中登录界面跳转到主界面的两种方法

Qt中登录界面跳转到主界面的两种方法

1 登录界面跳转2 跳转的两种方式2.1 利用QDialog::Accepted2.2 利用QObject::connect( )

1 登录界面跳转

登录界面跳转,应该是项目的常见需求了。

输入账号、密码后,点击登录按钮跳转。

2 跳转的两种方式

这里博主介绍两种登录界面跳转到主界面的两种可行方式。

2.1 利用QDialog::Accepted

自然,这个方法创建的登录界面类需要继承QDialog类

设计好登录界面后,选择 go to slot,再选择 clicked(),然后进入其单击事件的槽函数:

/* loginwindow.cpp中 */void loginDlg::on_login_pushButton_clicked(){if (你的判断条件) {accept();}}

整个思路就是:符合登录条件,登录界面就会调用 accept( ) 函数,并返回执行结果 QDialog::Accepted。所以还需要在main.cpp中继续添加判断代码。

/* main.cpp中 */int main(int argc, char *argv[]){QApplication a(argc, argv);Widget w;// 主界面LoginWindow login;// 登录界面if (login.exec() == QDialog::Accepted) {// 如果符合登录条件,login执行后,必返回QDialog::Acceptedw.show();// 主界面显示return a.exec();}else return 0;}

2.2 利用QObject::connect( )

该方法整体思路:点击登录界面的登录按钮,登录界面 emit 一个登录的signal,主界面接收到之后show出,然后 emit 一个已登录 signal,登录界面收到之后自己 close。

具体的 signal 和 slot 就不展示了,这些都是 Qt 的基础知识,方法只提供思路,具体实现需要自己摸索。

/* main.cpp */int main(int argc, char *argv[]){QApplication a(argc, argv);LoginWindow login; // 登录界面MainWindow w; // 主界面login.show();QObject::connect(&login, &LoginWindow::userLogin, &w, &MainWindow::rcvLogin); // 登录信号与主界面连接QObject::connect(&w, &MainWindow::closeLoginWindow, &login, &LoginWindow::loginWindowClose); // 登录主界面后关闭登录界面return a.exec();}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。