MFC和QT的消息循环机制不同,所以,要让QT写的DLL可以供MFC调用,要做一点特殊的处理
 
 
- #include <qmfcapp.h>  
- #include <qwinwidget.h>  
- #include <QtGui>  
-   
- #include <QtGui/QMessageBox>  
- #include <windows.h>  
- #include <QTextCodec>  
 
- #include "widget.h"  
-   
- BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID 
- {  
-     static bool ownApplication = FALSE;  
-     
-     QTextCodec::setCodecForTr(QTextCodec::codecForLocale());  
-     QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());  
-   
-     if ( dwReason == DLL_PROCESS_ATTACH )  
-     {  
-   
-         ownApplication = QMfcApp::pluginInstance( hInstance );  
-     }  
-     if ( dwReason == DLL_PROCESS_DETACH && ownApplication )  
-     {  
-         qApp->quit();  
-         delete qApp;  
-     }  
-   
-     return TRUE;  
- }  
-   
-   
- extern "C" __declspec(dllexport) int ShowDialog( HWND parent)  
- {  
-     QWinWidget win(parent, NULL, Qt::Window);  
-     win.showCentered();  
-     win.center();  
-   
-     QHBoxLayout hbox(&win);  
-     Widget *widget = new Widget(&win);  
-     widget->setWindowFlags(Qt::Window);  
-     hbox.addWidget(widget);  
-   
-     win.show();  
-     qApp->exec();  
- }  
http://blog.csdn.net/small_qch/article/details/6743803
 可以供MFC调用的,QT实现的DLL(qtwinmigrate实现)
原文:http://www.cnblogs.com/findumars/p/4993554.html