一、Qt widget应用、C++、qml混合编程之一

本文介绍了如何在Qt中混合使用Qt Widgets和QML进行应用程序开发。首先创建一个Qt Widgets Application,然后添加必要的Qt模块。接着在主窗口中添加QQuickWidget来展示QML内容,并通过C++与QML交互,展示了一个简单的天气显示示例。最后,文章展示了QML代码,包括Cloud.qml和main.qml,用于显示天气图标和信息。
摘要由CSDN通过智能技术生成

1、关键字:Qt widget、qml、image
2、首先我们创建一个Qt widgets application,给它工程名称CallQml,然后一路下一步创建完成;
3、在CallQml.pro中添加
    QT += qml quick
    QT += quickwidgets
4、双击mainwindow.ui,在设计窗口中随意添加一个控件,我们添加一个button吧,然后在窗口上点击右键,选择布局,选择栅格布局,可以看到这个控件就最大化了,这时候窗口中的任何控件都可以随着窗口最大化、最小化变化了;
    然后删除这个button,因为我们这个实例中并不需要这个button,为什么在这里需要添加这个控件然后又删除呢?是因为如果窗口中一个控件都没有时,点击右键是不能给它加上布局的。
5、添加图片和qml资源
     在CallQml工程下创建目录image和qml,把工程需要的图片放到image下,在qml目录下创建空文本文件main.qml、Cloud.qml

    右键点击res.qrc,点击Open in Editor打开编辑器,添加前缀image,添加图片,在/前缀下添加文件main.qml、Cloud.qml,然后关闭res.qrc,选择保存,这时在项目的Resources下刚才添加的文件
    
6、在mainwindow.cpp中添加头文件:
    #include <QtQml/QQmlContext>
    #include <QtQuickWidgets/QQuickWidget>
7、在mainwindow.cpp中添加如下代码:

    QWidget * mWidget = new QWidget();
    mWidget->setStyleSheet("background-color: #00BFFF");

    QGridLayout* mgrid = new QGridLayout;
    mWidget->setLayout(mgrid);
    QQuickWidget* viewer = new QQuickWidget();
    viewer->rootContext()->setContextProperty("mwindow", this);
    viewer->setSource(QUrl("qrc:/qml/Meteo/main.qml"));
    viewer->setResizeMode(QQuickWid

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值