在Qt中先做了一个主界面,之后做了一个dialog的登录界面,想显示登陆界面之后点击 在进入主界面怎么做?
就是用代码做了一个主页面,又做了一个登录界面,在登陆界面有一个选择登录按钮,想让它先显示登录界面,在点击登录按钮进入主界面,我这程序怎么做都只显示主界面???求高人指点,...
就是用代码做了一个主页面,又做了一个登录界面,在登陆界面有一个选择登录按钮,想让它先显示登录界面,在点击登录按钮进入主界面,我这程序怎么做都只显示主界面???求高人指点,我才自学Qt,什么都不会呢!
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget *w =new MyWidget(this);
MyDialog dialog;
if(dialog.exec() == QDialog::Accepted)
{
w->show();
return a.exec();
}
else return 0;
}
这个是主程序 展开
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget *w =new MyWidget(this);
MyDialog dialog;
if(dialog.exec() == QDialog::Accepted)
{
w->show();
return a.exec();
}
else return 0;
}
这个是主程序 展开
3个回答
展开全部
你是说没有显示QDialog是吗?
点击主界面的登录按钮→显示登录对话窗口→登录成功→回到主界面,是这样一个流程吗?
如果是这样的话,那么可能是你的QDialog没有执行,可以使用exec()这个函数来执行。
QDialog *checkin_dialog = new QDialog(this); //this 即主页面
//布局
......
//显示窗体
int result = checkin_dialog->exec();
if(QDialog::Accepted == result)
{
//回主界面
......
}
if(QDialog::Rejected == result)
{
//处理流程
......
}
点击主界面的登录按钮→显示登录对话窗口→登录成功→回到主界面,是这样一个流程吗?
如果是这样的话,那么可能是你的QDialog没有执行,可以使用exec()这个函数来执行。
QDialog *checkin_dialog = new QDialog(this); //this 即主页面
//布局
......
//显示窗体
int result = checkin_dialog->exec();
if(QDialog::Accepted == result)
{
//回主界面
......
}
if(QDialog::Rejected == result)
{
//处理流程
......
}
追问
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MyWidget *w =new MyWidget(this);
MyDialog dialog;
if(dialog.exec() == QDialog::Accepted)
追答
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
Widget w; //w是主界面
w.show();
return a.exec();
}
/*然后主界面的登录按钮触发登录窗口*/
connect(checkin_button, SIGNAL(clicked()), this, SLOT(showCheckInWindow()));
展开全部
你的主界面的显示代码肯定再main函数中,你将显示主界面的代码删掉,改成你登录界面的代码,然后在登录界面的登录按钮槽中显示主界面不就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如你的登陆界面有一个用户名、密码输入框还有一个登陆按钮,当点击登陆按钮时候,取出用户名、密码进行判断,如果正确则accept();再当dialog->exec() == QDialog::Accepted的时候,主界面show().
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询