如题,在启动主窗口之前根据一些条件进行判断是否显示主窗口(通过show()函数),如果条件不满足,直接使用一个模态
对话框,也就是调用对话框的exec()函数提示用户并等待用户关闭对话框,然后结束程序。调试的时候发现,关闭了对话框之后进程不能结束,不知道怎么退出进程,请高人指点。
尝试用
信号槽连接,好像信号根本到达不了
QApplication a(argc, argv);
TLKProductMgr w; //从QWidget继承的一个类,里面有一个对话框,和一个信号abort
QObject::connect(&w,SIGNAL(abort()),&a,SLOT(quit()));
w.start(); //启动并判断当前条件,如果条件满足show()用来显示自身,否则调用对话框exec(),在对话框即将关闭的时候发出信号,希望退出整个程序程序
return a.exec();
实际上的运行没有达到期望的效果,不知道哪里错了。一个有疑问的地方就是,在对话框exec()返回的Accepted的时候,文档中说对话框只是被隐藏了,我想这里当然就没有window closed信号发生了,QApplication a当然收不到lastWindowClosed()信号了,所以试图在TLKProductMgr 中自己做一个abort信号,信号发送完毕之后,从w.start返回,这里总是感觉有点别扭,却不知道错在哪里
[ 此贴被sbtree在2008-10-29 16:05重新编辑 ]