首页 > 编程语言 >QT 6.8.0 QML 随笔 调用C++类

QT 6.8.0 QML 随笔 调用C++类

时间:2024-12-08 18:57:35浏览次数:4  
标签:QT int app C++ Add QML MyApp import include

1、开发环境Qt Creator、 QT 6.8.0、CMake。

2、添加新文件。

3、 在头文件中定义一个int Add(int a,int b);方法

public slots:
   int Add(int a,int b);

4、类文件.cpp中实现方法。

#include "MyApp.h"
#include <QDebug>

int MyApp::Add(int a,int b){
    qDebug()<<a+b;
    return a+b;
}

5、main.cpp文件中代码如下

#include <QGuiApplication>
#include <QQmlApplicationEngine>
#include "MyApp.h"

int main(int argc, char *argv[])
{
    QGuiApplication app(argc, argv);
    // 注册 C++ 类到 QML,其中第一个参数是类名(不带命名空间),第二个参数是版本号
    qmlRegisterType<MyApp>("com.company.MyApp",1,0,"MyApp");
    QQmlApplicationEngine engine;
    QObject::connect(
        &engine,
        &QQmlApplicationEngine::objectCreationFailed,
        &app,
        []() { QCoreApplication::exit(-1); },
        Qt::QueuedConnection);
    engine.loadFromModule("MyApp", "Main");

    return app.exec();
}

6、Main.qml文件中代码如下

import QtQuick
import QtQuick.Controls
import QtQuick.Window
import com.company.MyApp 1.0

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("界面")

    MyApp {
        id:myApp 
    }

    Button {
        id:btnTest;
        width: 100;
        height: 30;
        anchors.centerIn: parent;
        text: qsTr("测试按钮");
        onClicked: {
            myApp .Add(20,10);
        }
    }
}

标签:QT,int,app,C++,Add,QML,MyApp,import,include
From: https://blog.csdn.net/xingchengaiwei/article/details/144264407

相关文章

  • C语言动态哆啦A梦源码分享,无需编程基础,小白轻松运行,顺便解决Visual Studio 2022里c++
    下面是运行效果图:首先是安装VisualStudio2022VisualStudio2022IDE-适用于软件开发人员的编程工具打开上面的网址,选择下载社区版 下载好后运行,进来以后,如果是初次安装需要下载安装,我的是原来就有的所以会显示更新,如果原来就有的请点击修改按钮,选择配置下载并安装......
  • 使用深度学习框架进行街景语义分割-数据准备、模型选择、模型训练、模型评估及如何使
    使用深度学习框架进行街景语义分割-数据准备、模型选择、模型训练、模型评估以及如何使用PyQt5构建一个简单的应用来展示分割结果街景语义分割数据集数据集:jingjingji,长三角,珠三角共49个城市群百度街景(全景)数据,50m采样。包含街景图像、shp、csv等数据处理结果文件。......
  • 【多态】—— 我与C++的不解之缘(二十)
    前言面向对象语言的三大特性:封装、继承和多态。现在就一起来学习多态一、什么是多态通俗一点,多态就是多种形态;多态它又分为编译时动态和运行时多态。1.编译时多态​编译时多态,主要就是函数重载和函数模板,他们传不同的参数就可以调用不同的函数,通过传参不同达到......
  • 浅谈C/C++内存管理
    目录一、C语言和C++内存管理方式        1、C语言和C++内存管理方式区别     2、【new】和【delete】的好处二、使用【new】来分配内存三、使用【new】来创建动态数组    1、创建动态数组        2、使用动态数组 四、使用【delete......
  • vc++6.0与新版编译器多了哪些注意事项(1)
    VC6++,这是一个比较老的编译器了,对C++标准支持存在一些局限性,一.关于warningC4003:notenoughactualparametersformacro'getc'警告及相关错误原因分析:在C语言的标准库中有一个名为getc的宏(通常用于从文件流中读取字符等操作),代码里定义了名为getc的类point的......
  • 打卡信奥刷题(382)用C++信奥B3693[普及组/提高] 数列前缀和 4
    数列前缀和4题目背景这次不是数列的问题了。题目描述给定一个nnn行mm......
  • 【C++算法】33.位运算_判定字符是否唯一
    文章目录题目链接:题目描述:解法C++算法代码:图解题目链接:面试题01.01.判定字符是否唯一题目描述:解法如果使用数据结构的话哈希表:一个一个字符扫描,不在哈希表里面的就放进去,在里面的就返回false。扫描完全部不重复就返回true。也可以优化一下,字母一共26......
  • 【C++算法】34.位运算_丢失的数字
    文章目录题目链接:题目描述:解法C++算法代码:题目链接:268.丢失的数字题目描述:解法哈希表创建一个0~5的数组从前往后遍历一下,有的数字就在表里面标记一下,最后看一下哪些数字没有被标记过。高斯求和先求出应该有的和:(首项+末项)*项数÷2然后减去数组的和......
  • 关于c++的一个报错
    使用tstring构造函数,用到了VarBaseString的tostring,调用完,会导致局部对象指针为nullptr,目前在查原因classVarBaseString:publicVar{public:VarBaseString(std::stringstr=""){val=str;type="string";......
  • 斐波那契数列c++
    意大利数学家斐波那契(LeonardoFibonacci)是12、13世纪欧洲数学界的代表人物。他提出的“兔子问题”引起了后人的极大兴趣。“兔子问题”假定一对大兔子每一个月可以生一对小兔子,而小兔子出生后两个月就有繁殖能力,问从一对小兔子开始,n个月后能繁殖成多少对兔子?输入格式:首先......