• 7725阅读
  • 1回复

MFC的CWinApp是不是和QApplication无法共存? [复制链接]

上一主题 下一主题
离线ilovevisio
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-10
我现在有个问题.我在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下会异常.

不知道如何处理之.帮忙看看,多谢!

多谢!
离线wd007

只看该作者 1楼 发表于: 2009-11-11
这个好像不行
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
快速回复
限100 字节
 
上一个 下一个