实现该功能需要两个窗口,一个登录窗口,我这里叫QLanderDialog,一个主窗口,我这里叫MainWindow。
首先,将窗口都加入到main.cpp,因为先要显示登陆窗口,故先让登陆窗口显示,主窗口不显示,然后给他们相互关联,代码如下:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
// w.show();
QLanderDialog l;
l.show();
QObject::connect(&l, SIGNAL(mainshow()), &w, SLOT(receiverLander()));
QObject::connect(&w, SIGNAL(landerShow()), &l, SLOT(receiverLogout()));
return a.exec();
}
接下来,登陆窗口,登陆窗口上有登录按钮,点击登录按钮触发mainshow()事件,代码如下
.cpp部分代码:
//关闭登录窗口,并发送显示主窗口事件
this->close();
emit mainshow();
//接收注销登录事件,执行显示登陆窗口
void QLanderDia