《MFC&Qt混合编程》 part1 MFC对话框中嵌入Qt窗口控件

70 篇文章 2 订阅
18 篇文章 0 订阅

看到一篇写的靠谱的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头文件:

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值