我现在有个问题.我在MFC dialog程序里想加入QT的支持.开发环境是VS2005
编译测试通过后在程序里试,功能都对的.但就是新建的MFC DIALOG程序退出后这个进程无法退出.WIN 32 控制台程序下即正常.
我做了一个对比测试,代码如下:
MFC程序代码:
BOOL CtestApp::InitInstance()
{
int argc = 1;
QApplication a(argc,NULL);
QWebView *view = new QWebView(0);
view->setWindowFlags(Qt::Dialog);
a.setQuitOnLastWindowClosed(true);
view->show();
view->load(QUrl("http://www.163.com"));
return a.exec();
}
Win32控制台程序代码:
int _tmain(int argc, _TCHAR* argv[])
{
QApplication a(argc,NULL);
QWebView *view = new QWebView(0);
view->show();
view->load(QUrl("http://www.163.com"));
a.setQuitOnLastWindowClosed(true);
return a.exec();
}
在Win32控制台下不管设不设setQuitOnLastWindowClosed都是正常退出的.
MFC程序不管加不加setQuitOnLastWindowClosed都不行,将view的性质设成window或dialog也都不行
我估计是MFC DIALOG的消息机制和QT的信号机制冲突了,
但我要弄的东西是要在MFC DIALOG程序上用.
如何解决这个问题?
是不是一定要qtwinmigrate才行.会不会在后续用MFC控制及消息这块巨麻烦?
还是我将功能部件独立成一个EXE.再在MFC DIALOG里直接调用之,不过好像在VISTA UAC下会异常.
不知道如何处理之.帮忙看看,多谢!
多谢!