浅谈VC中使用Qt库之一

19 篇文章 1 订阅
7 篇文章 0 订阅

Qt作为一款夸平台的UI库 已经在各个领域取得了成功,它的简单,便捷是快速开发界面的首选,MFC, C#等等在我看来都没有它方便。假如你在一个VC项目中你想使用Qt怎么办呢,其实网上有很多使用qtwinmigrate来实现这样的功能,但是qt更新版本是不兼容的,使得只要Qt有升级qtwinmigrate也得跟着升级,遗憾的是qtwinmigrate已经在几年前终止了升级,只能在5.0以下使用,不过也有同学修改了下能在5.0下使用,所以这个方法有就很鸡肋了。

其实Qt是可以直接在VC项目中使用的。

下面就是使用的方法(vs2013 Qt5.6.0为例):

1.我们创建一个MFC 对话框项目,我这里命名为MFCApplication4Dlg

2.设置Qt头文件路径

QTDIR为环境变量名称:



3. 连接器设置:







这里我们只需要窗体相关的dll。

这样我们的工程就做好了 基本配置


4. 添加Qt机制

VC的消息循环机制跟Qt机制是不一样的,所以是不能直接使用的。我们需要将Qt的机制建立起来

我们定义一个成员指针QApplication *m_pQtApp;,并引入头文件#include <QtWidgets/QApplication>, 然后在初始化函数中初始化m_pQtApp。

int argc = 1;
m_pQtApp = new QApplication(argc, NULL);

第二个参数看传入程序路径。

然后在析构函数中结束Qt循环

m_pQtApp->quit();
delete m_pQtApp;

5. 测试

在MFC对话中拖一个按钮,双击添加消息响应函数。



void CMFCApplication4Dlg::OnBnClickedButton1()
{
// TODO:  在此添加控件通知处理程序代码
QMessageBox::information(NULL, "这是Qt消息框", "这是Qt消息框");
}

运行效果如下:



出现了乱码,但是至少证明这里使用Qt成功了,


然后我们修改代码

void CMFCApplication4Dlg::OnBnClickedButton1()
{
// TODO:  在此添加控件通知处理程序代码
QMessageBox::information(NULL, QStringLiteral("这是Qt消息框"), QStringLiteral("这是Qt消息框"));
}


再次运行



综上已经成功的在VC中使用Qt

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值