《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
2018-03-07 16:57
1071 查看
看到一篇写的靠谱的MFC与Qt混合编程的文章,mark一下,转自
http://blog.csdn.net/sinat_24206709/article/details/77185974
《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
1、环境配置:VS2010,Qt4.8.4_win64,Qt_VS_Addin_1.1.11
2、创建的MFC对话框程序
3、输出为x64的debug&release程序
准备工作:
下载QtMigration文件
http://download.csdn.net/download/power_YQ/3539936
第一步:
创建一个最简单的 MFC Dialog 程序——编译应该是正常的MFC程序。
第二步:.
1、将下载后的source文件中qmfcapp qwinhost qwinwidget 六个对应的.h .cpp文件添加到工程中
2、添加对应的Qt头文件:
QMfcApp::instance(this);
跟踪到QMfcApp的代码中可以清楚的看到该静态函数的功能是创建QApplication实例。
第三步:
重写CTestApp的run方法——在头文件中添加virtual int run();
cpp中的函数如下:
int CTestApp::Run()
{
int result = QMfcApp::run(this);
delete qApp;
return result;
}
注——QT帮助介绍:
QMfcApp:run()
will then use that QMfcApp::instance, which must then be deleted explicitly using the global qApp pointer.
第四步:
在testDlg.h文件中添加定义——注意添加Qt的头文件:
QWinWidget *widget;
第五步:
1、在工程中右击——类向导——类名要对应到testDialog这个类——到左下面的消息tab框——双击分别选中WM_CREATE和WM_DESTORY——确定
2、在CTestDialog的OnCreate函数中加入下面代码:
widget = new QWinWidget( this );
QHBoxLayout *hbox = new QHBoxLayout( widget );
QLabel *label = new QLabel( “Enter text:”, widget );
QLineEdit *edit = new QLineEdit( widget );
hbox->addWidget( label );
hbox->addWidget( edit );
widget->move( 0, 0 );
widget->show();
注:记得加上对应的头文件或Qt声明:
http://blog.csdn.net/sinat_24206709/article/details/77185974
《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
1、环境配置:VS2010,Qt4.8.4_win64,Qt_VS_Addin_1.1.11
2、创建的MFC对话框程序
3、输出为x64的debug&release程序
准备工作:
下载QtMigration文件
http://download.csdn.net/download/power_YQ/3539936
第一步:
创建一个最简单的 MFC Dialog 程序——编译应该是正常的MFC程序。
第二步:.
1、将下载后的source文件中qmfcapp qwinhost qwinwidget 六个对应的.h .cpp文件添加到工程中
2、添加对应的Qt头文件:
include
include “qmfcapp.h”
include “qwinhost.h”
include “qwinwidget.h”
3、在 BOOL CTestApp::InitInstance() 函数中增加一行代码:QMfcApp::instance(this);
跟踪到QMfcApp的代码中可以清楚的看到该静态函数的功能是创建QApplication实例。
第三步:
重写CTestApp的run方法——在头文件中添加virtual int run();
cpp中的函数如下:
int CTestApp::Run()
{
int result = QMfcApp::run(this);
delete qApp;
return result;
}
注——QT帮助介绍:
QMfcApp:run()
will then use that QMfcApp::instance, which must then be deleted explicitly using the global qApp pointer.
第四步:
在testDlg.h文件中添加定义——注意添加Qt的头文件:
QWinWidget *widget;
第五步:
1、在工程中右击——类向导——类名要对应到testDialog这个类——到左下面的消息tab框——双击分别选中WM_CREATE和WM_DESTORY——确定
2、在CTestDialog的OnCreate函数中加入下面代码:
widget = new QWinWidget( this );
QHBoxLayout *hbox = new QHBoxLayout( widget );
QLabel *label = new QLabel( “Enter text:”, widget );
QLineEdit *edit = new QLineEdit( widget );
hbox->addWidget( label );
hbox->addWidget( edit );
widget->move( 0, 0 );
widget->show();
注:记得加上对应的头文件或Qt声明:
include “qwinwidget.h”
include
include
include
include
相关文章推荐
- 《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件
- SDL窗体嵌入到MFC/QT窗口控件上的方法总结
- MFC对话框窗口&Tab Control控件
- [转载]在MFC窗口中嵌入VLC ActiveX控件
- MFC让对话框窗口始终在最前&MFC弹出非模态对话框&居中
- VC++无标题窗口以及控件拖动的方法,MFC中的对话框怎么拖动不了
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置
- 将QT窗口嵌入到MFC中的方案
- VS2013MFC对话框工程学习笔记五 - 了解窗口和窗口控件的属性并修改
- MFC在对话框中添加了一个richedit控件,窗口就不显示了。
- 把Qt 的窗口程序 嵌入到 MFC 的窗口程序中 实现思路
- 在mfc的图形控件嵌入opencv的图形窗口
- VS2013 MFC 对话框控件大小随窗口大小改变而改变
- MFC让对话框窗口始终在最前&MFC弹出非模态对话框
- MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置 及Invalidate(TRUE)的闪屏问题
- MFC中获得对话框控件相对于父窗口的位置
- MFC窗口最大化&移动窗口位置&获取控件句柄,设置控件大小
- MFC如何将对话框嵌入浮动窗口中
- mfc控件位置随对话框窗口移动
- 【MFC】【停靠窗口】的建立及其内部【控件的嵌入】