QT第12-14节课程笔记-类的引入

Qt基础入门课程笔记 /QApplication抽象了QT的应用程序//QWidget抽象了窗口QWidget w;w.show();//进入消息循环,等待用户输入PS:Ctrl+Tab 切换文件目录Q_OBJECT 指当前类支持信号与槽的机制输出格式调整创建项目,项目右键添加新文件,选择Qt-Qt设计师界面类-Widget-类名:SmallWidget,完成;在smallWidget.ui中添加Spin Box和Horizon Slider控件;在主UI中添加widget控件; 阅读详情
AI摘要

文章介绍了C++中的类结构,包括数据成员(属性)、成员函数、构造函数、析构函数和访问修饰符。通过实例展示了如何使用结构体实现类的概念,以及面向对象的封装和组合特性。

2.3 类

在这里插入图片描述

2.3.1 类的初探

C++ 中的类(class)是一种编程结构,用于创建对象。这些对象可以拥有属性(即数据成员)和行为(即成员函数或方法)。类的概念是面向对象编程的核心之一,其主要目的是将数据和与数据相关的操作封装在一起。例如,如果你有一个“汽车”类,它可能包含颜色、品牌、型号等属性(数据成员),以及启动、停止、加速等行为(成员函数)。每当你基于这个类创建一个对象时,你就有了一个具体的汽车,具有这些属性和行为。

C++ 类的基本结构通常包含:

  1. 数据成员(Attributes):定义类的属性。这些是类内部的变量,用于存储对象的状态。
  2. 成员函数(Methods):定义类的行为。这些是可以操作对象的数据成员的函数。
  3. 构造函数和析构函数:特殊的成员函数。构造函数在创建对象时自动调用,用于初始化对象。析构函数在对象销毁时调用,用于执行清理操作。
  4. 访问修饰符:如 public, private, protected,用于控制对类成员的访问权限。例如,public 成员可以在类的外部访问,而 private 成员只能在类内部访问。
  5. 继承:允许一个类继承另一个类的特性。这是代码重用和多态性的关键。

通过这些特性,C++ 类提供了一种强大的方式来组织和处理数据,使得代码更加模块化、易于理解和维护。

2.3.2 结构体引入类

2.3.2.1 回忆结构体

如果用C语言实现上面描述的汽车类,我们实现如下代码

#include <stdio.h>
#include <stdlib.h>

struct Car{       //汽车“类”
    char *color;  //颜色
    char *brand;  //品牌
    char *type;   //车型
    int year;     //年限

    void (*printCarInfo)(char *color,char *brand,char *type, int year); //函数指针,指向车介绍函数
    void (*carRun)(char *type);       //函数指针,指向车运行的函数
    void (*carStop)(char *type);      //函数指针,执行车停止的函数
};

void bwmThreePrintCarInfo(char *color,char *brand,char *type, int year)
{
    printf("车的品牌是:%s, 型号是: %s, 颜色是:%s,上市年限是%d\n",
           brand,type,color,year);
}
void A6PrintCarInfo(char *color,char *brand,char *type, int year)
{
    printf("车的品牌是:%s,型号是: %s, 颜色是:%s, 上市年限是%d\n",
           brand,type,color,year);
}

int main()
{
    struct Car BWMthree;
    BWMthree.color = "白色";
    BWMthree.brand = "宝马";
    BWMthree.type  = "3系";
    BWMthree.year  = 2023;

    BWMthree.printCarInfo = bwmThreePrintCarInfo;
    BWMthree.printCarInfo(BWMthree.color,BWMthree.brand,BWMthree.type,BWMthree.year);

    struct Car *AodiA6;
    AodiA6 = (struct Car*)malloc(sizeof(struct Car));

    AodiA6->color = "黑色";
    AodiA6->brand = "奥迪";
    AodiA6->type = "A6";
    AodiA6->year = 2008;

    AodiA6->printCarInfo = A6PrintCarInfo;
    AodiA6->printCarInfo(AodiA6->color,AodiA6->brand,AodiA6->type,AodiA6->year);
    return 0;
}

2.3.2.2 新建C++工程来使用结构体
  • 在C++中,字符串用string来表示,发现有个string赋值给char 的警告,所以修改所有char *为string类型
main.cpp:33:17: warning: ISO C++11 does not allow conversion from string literal to 'char *'
  • 修改后,发现printf的%s控制位,不能用于string的输出,所有有string构建了即将要输出的字符串
  • C++中,通过std::tostring()函数,将整型数转化成字符串
  • 在printInfo中使用cout输出汽车信息
  • 发现在C++工程中,使用malloc在堆申请结构体空间有问题,所以直接在此引入类的概念,把struct改成class
  • 引入新问题,class的成员数据和成员函数在不指定权限的情况下,默认private权限,类的对象无法进行直接访问
main.cpp:33:9: error: 'color' is a private member of 'Car'
main.cpp:5:11: note: implicitly declared private here
  • 添加public属性

    访问权限类内部同一个类的对象派生类(子类)类外部
    public✔️ 可访问✔️ 可访问✔️ 可访问✔️ 可访问
    private✔️ 可访问❌ 不可访问❌ 不可访问❌ 不可访问
    protected✔️ 可访问❌ 不可访问✔️ 可访问❌ 不可访问
  • 把main函数中的原本结构体变量改成了类的实例化,如果变量类型是指针,把原来的malloc改成new一个对象

  • 最后解决了所有问题

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>

using namespace std;

class Car{       //汽车“类”

public:
    string color;  //颜色
    string brand;  //品牌
    string type;   //车型
    int year;     //年限

    void (*printCarInfo)(string color,string brand,string type, int year); //函数指针,指向车介绍函数
    void (*carRun)(string type);       //函数指针,指向车运行的函数
    void (*carStop)(string type);      //函数指针,执行车停止的函数
};

void bwmThreePrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}
void A6PrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}

int main()
{
    Car BWMthree;
    BWMthree.color = "白色";
    BWMthree.brand = "宝马";
    BWMthree.type  = "3系";
    BWMthree.year  = 2023;

    BWMthree.printCarInfo = bwmThreePrintCarInfo;
    BWMthree.printCarInfo(BWMthree.color,BWMthree.brand,BWMthree.type,BWMthree.year);

    Car *AodiA6 = new Car();
  //  AodiA6 = (struct Car*)malloc(sizeof(struct Car));

   
    AodiA6->color = "黑色";
    AodiA6->brand = "奥迪";
    AodiA6->type = "A6";
    AodiA6->year = 2008;
    AodiA6->printCarInfo = A6PrintCarInfo;

    AodiA6->printCarInfo(AodiA6->color,AodiA6->brand,AodiA6->type,AodiA6->year);

    return 0;
}


但是!我们还没有真正体验到面向对象的封装特性,仅仅感受到权限上的区别

2.3.2.3 真正的成员函数
  • 上一节的案例中, void (*printCarInfo)(string color,string brand,string type, int year); 到底是变量函数函数呢?
  • 是一个指针变量,是保存某个函数地址的变量,所以它不是成员函数,是成员数据
  • 真正的成员函数遵守封装特性,在函数体内部访问成员数据的时候,不需要参数传递
  • 在 C++ 中,双冒号 :: 称为 “作用域解析运算符”(Scope Resolution Operator)。它用于指定一个成员(如函数或变量)属于特定的类或命名空间。例如,在类的外部定义成员函数时,:: 用于指明该函数属于哪个类。
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>

using namespace std;

class Car{       //汽车“类”

public:
    //成员数据
    string color;  //颜色
    string brand;  //品牌
    string type;   //车型
    int year;     //年限
    //其实也是成员数据,指针变量,指向函数的变量,并非真正的成员函数
    void (*printCarInfo)(string color,string brand,string type, int year); //函数指针,指向车介绍函数
    void (*carRun)(string type);       //函数指针,指向车运行的函数
    void (*carStop)(string type);      //函数指针,执行车停止的函数

    void realPrintCarInfo();//声明成员函数

};

void Car::realPrintCarInfo() //在类的外部进行成员函数的实现
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}

void bwmThreePrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}
void A6PrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}

int main()
{
    Car BWMthree;
    BWMthree.color = "白色";
    BWMthree.brand = "宝马";
    BWMthree.type  = "3系";
    BWMthree.year  = 2023;

    BWMthree.printCarInfo = bwmThreePrintCarInfo;
    BWMthree.printCarInfo(BWMthree.color,BWMthree.brand,BWMthree.type,BWMthree.year);
    BWMthree.realPrintCarInfo();

    Car *AodiA6 = new Car();
  //  AodiA6 = (struct Car*)malloc(sizeof(struct Car));


    AodiA6->color = "黑色";
    AodiA6->brand = "奥迪";
    AodiA6->type = "A6";
    AodiA6->year = 2008;
    AodiA6->printCarInfo = A6PrintCarInfo;

    AodiA6->printCarInfo(AodiA6->color,AodiA6->brand,AodiA6->type,AodiA6->year);
    AodiA6->realPrintCarInfo();
	 delete(AodiA6);
    return 0;
}


2.3.4 QT中经常出现的用法

在 C++中,一个类包含另一个类的对象称为组合(Composition)。这是一种常见的设计模式,用于表示一个类是由另一个类的对象组成的。这种关系通常表示一种"拥有"(“has-a”)的关系。

普通变量访问成员变量或者成员函数,使用 “ . ” 运算符

指针变量访问成员变量或者成员函数,使用“ -> ”运算符,像C语言的结构体用法

#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <iostream>

using namespace std;

class Wheel
{
public:
    string brand;
    int year;

    void wheelPrintInfo();
};

void Wheel::wheelPrintInfo()
{
    cout << "我的轮胎品牌是:" << brand << endl;
    cout << "我的轮胎日期是:" << year  << endl;
}

//在 C++中,一个类包含另一个类的对象称为组合(Composition)。
class Car{       //汽车“类”

public:
    //成员数据
    string color;  //颜色
    string brand;  //品牌
    string type;   //车型
    int year;     //年限

    Wheel wl;
    Wheel *pwl;

    //其实也是成员数据,指针变量,指向函数的变量,并非真正的成员函数
    void (*printCarInfo)(string color,string brand,string type, int year); //函数指针,指向车介绍函数
    void (*carRun)(string type);       //函数指针,指向车运行的函数
    void (*carStop)(string type);      //函数指针,执行车停止的函数

    void realPrintCarInfo();//声明成员函数

};

void Car::realPrintCarInfo() //在类的外部进行成员函数的实现
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}

void bwmThreePrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}
void A6PrintCarInfo(string color,string brand,string type, int year)
{
    string str = "车的品牌是:" + brand
            + ",型号是: " + type
            + ",颜色是:" + color
            + ",上市年限是:" + std::to_string(year);
    cout << str << endl;
}

int main()
{
    Car BWMthree;
    BWMthree.color = "白色";
    BWMthree.brand = "宝马";
    BWMthree.type  = "3系";
    BWMthree.year  = 2023;

    BWMthree.pwl = new Wheel();
    BWMthree.pwl->brand = "米其林";
    BWMthree.pwl->year = 2023;
    //BWMthree.wl.brand = "米其林";
    //BWMthree.wl.year = 2023;

    BWMthree.printCarInfo = bwmThreePrintCarInfo;
    BWMthree.printCarInfo(BWMthree.color,BWMthree.brand,BWMthree.type,BWMthree.year);
    BWMthree.realPrintCarInfo();
    //BWMthree.wl.wheelPrintInfo();

    Car *AodiA6 = new Car();
  //  AodiA6 = (struct Car*)malloc(sizeof(struct Car));


    AodiA6->color = "黑色";
    AodiA6->brand = "奥迪";
    AodiA6->type = "A6";
    AodiA6->year = 2008;
    AodiA6->printCarInfo = A6PrintCarInfo;

    AodiA6->pwl = new Wheel;
    AodiA6->pwl->brand = "普利司通";
    AodiA6->pwl->year = 2012;

    //AodiA6->wl.brand = "马牌";
    //AodiA6->wl.year = 2023;

    AodiA6->printCarInfo(AodiA6->color,AodiA6->brand,AodiA6->type,AodiA6->year);
    AodiA6->realPrintCarInfo();
    //AodiA6->wl.wheelPrintInfo();
    AodiA6->pwl->wheelPrintInfo();
    delete(AodiA6->pwl);
    delete(AodiA6);
    return 0;
}

VS2019配置QT5.14.2 1、下载QT和VS2019 QT下载 建议使用清华的下载源,速度相对比较快https://mirrors.tuna.tsinghua.edu.cn/qt/archive/qt/ QT官方的下载地址:http://download.qt.io/archive/qt/ 北京交通大... 阅读详情

相关推荐

Windows11:QT5.14.2+PCL1.12.0+VS2019环境配置

PCL1.12.0+QT5.14.2+VS2019安装

qq_34729374的博客 7033

QT在项目中创建类

一.创建一个新的类 QObject 类: 不仅是所有 Qt 对象的基类,还是“Qt 中的对象模型(Object Model)”的核心类; QWidget类:是所有用户界面对象的基类。 QmainWindows类:为构建应用程序的用户界面提供了一个框架 QDeclarativeitem类:这个模块的作用就是将QML元素与标准C++类相结合。而且它提供了一个很简单的方法使新建的QML文件作为一个项目加入到以前的图形视图的应用中。 QQuickItem类:绘制或渲染文本; 最后一步 二.代码调试 用“

weixin_52694360的博客 1万+

Qt 5.14.2揭秘高效开发:如何用VS2022快速部署Qt 5.14.2,打造无与伦比的Windows应用

Qt 是一个跨平台的应用程序开发框架,最初由挪威的 Trolltech 公司开发,并于2008年被诺基亚收购。后来,Qt 框架由 Digia 公司接手,并在2012年成立了 The Qt Company。Qt 提供了一套丰富的工具和类库,可用于开发图形用户界面(GUI)应用程序、嵌入式系统、网络应用程序和其他各种类型的软件。Qt 的应用领域非常广泛,包括桌面应用程序、移动应用程序、嵌入式系统、汽车娱乐系统、工业自动化和物联网等。它被许多大型跨平台应用程序和公司所采用,并且拥有庞大的开发者社区和支持。

w风雨无阻w的专栏 5152

c++学习--多态总结

1、如果要在继承中实现多态,子类对父类对继承必须是public。如下我们同时进行三种继承方式,然后调用:class Child :Father{ //class Child :protected Father{ ...

u010029439的博客 819

C++/QT学习笔记

C++自带的命名空间std,要声明using namespace std;才可使用,里面是C++语言基本的APInamespace 自定义名称 {这里面可以是数据,函数,与项目相关的一些算法等 } 有点类似C语言的结构体,但又比结构体功能强大,定义到头文件中,使用时要包含头文件还要声明。

weixin_48554101的博客 1611

QT学习笔记

QT学习笔记(一) 作者:Kagula 最后更新日期:2015-01-07 目的: 了解QT基本开发流程。 正文: 准备: 环境: VS2010SP1、 VS2013Update3、 Win7SP1-64bits 安装: [1]Qt 5.4.0 for Windows 32-bit (VS 2010, OpenGL, 625 MB)  [2]V

lee353086的专栏 1万+

【QT】QT自定义C++类

建立项目后,添加类MyBtn,Base class中可以直接输入QPushButton作为继承类新建自定义方法 void SetMyText(QString str),MyBtn.h// 自定义添加类,写代码前,要先编译一下,确保没有错误,再继续写。Q_OBJECTpublic:MyBtn.cpp新建类完成。

zsyyugong的博客 2144

QT5.14 实现ModbusTCP客户端 Demo

本文在QT5.14平台,基于QModbusClientTcp类,实现了客户端对单个寄存器的读写,用ModbusSlave做服务器做测试。(2)更改写按钮的名称为bt_Write。(1)更改读按钮的名称为bt_Read。3.修改mainWindow.h。2.修改pro文件的第三行。

weixin_39926429的博客 1740

Qt初使用(使用Qt创建项目,在创建的项目中添加类,Qt中输出内容到控制台,设置窗口大小和窗口标题,Qt查看说明文档)

按windows键,找到Qt Creator ,打开。

分享计算机视觉,C++,网络摄像头研发,音视频开发,嵌入式等知识。 1010

Qt基础-项目添加新类

本文讲解Qt项目添加新类

qq_30725967的博客 1717

【Qt】在ubuntu14.04上安装Qt5.12(失败)

1、安装Qt 1.1 下载安装包: Qt5.12下载地址 http://download.qt.io/official_releases/qt/5.12/5.12.3/ 选择qt-opensource-linux-x64-5.12.3.run下载 1.2 安装Qt 将qt-opensource-linux-x64-5.12.3.run拷贝到ubuntu14.04中 运行命令:./qt-openso...

郭老二 1万+

window下QT的安装(包括离线安装5.14和在线安装qt6)

一、简介 本篇文章将为大家介绍window下QT如何进行安装。本博主经历了qt5.5版本到现在的qt6版本,一般我们作为新手,建议大家可以先下载qt5.12 版本离线版,因为qt5.12版本之后 只能支持在线下载,而离线版已经作为商业化,需要付钱。 二、下载 Qt 官网有一个专门的资源下载网站,所有的开发环境和相关工具都可以从这里下载,具体地址是:http://download.qt.io/ archive 和 official_releases 两个目录都有最新的 Qt 开发环境安装包,我们以 arch

Hyc_cheng的博客 5万+

技能伤害继承英雄属性【War3地图编辑器】

风暴之锤跟随山丘之王的力量增长

ArYe 2305

QT5.14入门教程GUI(12)第12个QT程序-列表控件-QListWidget

QT5.14入门教程GUI(12)第12个QT程序-列表控件-QListWidget 1、新建项目,改名称ListWidget 2、选择基类,改类名,然后下一步…… 直到完成; 3、在UI界面中,找到如下List Widget 按钮,拖动一个放入界面释放; 4、双击控件中间;出现“编辑列表窗口部件” ; 5、在如下+ ,进行添加初始的列表选项; 6、最终如下效果,右...

airanl的博客 2281

5分钟搞定CST周期性结构仿真:共面波导色散曲线快速生成技巧

本文提供了一套在CST Studio Suite中快速仿真周期性结构并生成色散曲线的标准化流程。针对共面波导设计,重点解析了周期性边界条件的核心设置、本征模求解器(JDM算法)的优化技巧,以及通过参数扫描与后处理模板实现自动化,旨在帮助射频与微波工程师在5分钟内高效完成关键性能验证。

blue的专栏 1249

SAP成本核算-事中控制(成本对象控制/成本归集与结算)

本文详细介绍了SAP系统中工单成本归集与结算的全流程管理。主要内容包括:1)工单成本三阶段归集(投料、报工、入库)的具体操作与计算方法;2)工单实际成本结算七步骤:从实际费用归集、成本分割、作业价格计算到差异结算的全过程;3)关键注意事项如测试运行验证、价格单位确认、无在制品处理等。通过标准价计算、实际作业重估等机制,系统实现了生产成本从计划到实际的精确核算,最终生成财务所需的差异结算凭证。所有操作均提供单工单和批量处理两种方式,满足不同业务场景需求。

小九啥也不会 1364

【Qt】Qt5.14安装教程

00. 目录 文章目录00. 目录01. Qt5.14下载02. Qt5.14安装03. 附录 01. Qt5.14下载 官方下载网址:http://download.qt.io/archive/qt/5.14/5.14.2/ 02. Qt5.14安装 2.1 双击安装程序(qt-opensource-windows-x86-5.14.2.exe) 2.2 登录Qt账号或者注册账号 2.3 接受协议,选择下一步 2.4 Qt安装程序,选择下一步 2.5 选择安装路径 Qt 允许用户自定义安装路径,

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 1万+

软考嵌入式 第五讲 嵌入式Linux系统技术

5.1 inittab配置文件 Linux实时操作系统开机引导时首先启动内核,由内核检查和初始化硬件设备,载入设备的驱动程序模块,安装root文件系统,然后内核将启动一个名为init的进程,它是系统运行的第一个进程,进程号为1。在init运行完成并启动其他必要的后续进程后,系统开始运行,引导过程结束。 在任何时候,可以在文件inittab中添加新的记录项。重新检查inittab文件时,可以通过命令:init q/ Q使init进程立即重新读取并处理文件inittab。 5.1.1 inittab文件记录

Leon的博客 527

QT (C++)安装5.14

QT C++的安装

杨海华的博客 5858

Seurat-SCTransform与harmony整合学习

源于R tips:Seurat之SCTransform方法原理 (qq.com)Seurat对象在经过SCTransform处理后会增加一个SCT的Assay,里面的scaled.data就是经过scale之后的pearson residual值,这个值是用于后续降维聚类分析使用的。

hx2024的博客 2331

21、二维卷积层(convolution2dLayer)的全面解析

本文全面解析了二维卷积层(convolution2dLayer)的原理、属性和应用,详细介绍了其在深度学习中的作用及实现方法。文章涵盖创建卷积层的语法、参数设置、算法原理、输入输出格式、优化策略以及实际应用案例,旨在帮助读者更好地理解和应用二维卷积层构建高效的深度学习模型。

red88的博客 324

《QT 108好类》之12 QTextEdit类

本文介绍了Qt框架中的QTextEdit类,这是一个功能强大的富文本编辑器控件。QTextEdit支持纯文本和富文本(HTML子集)编辑,具有多行编辑、滚动条、撤销/重做、剪贴板操作等功能。其继承自QAbstractScrollArea,底层使用QTextDocument对象管理文本内容。 QTextEdit适用于多种场景:富文本编辑器(如邮件客户端)、纯文本编辑器(如代码编辑器)、信息显示区域(如帮助文档)、聊天窗口和日志记录器等。文章提供了简单使用示例,包括设置文本、获取内容、清空和追加文本等操作,以及

qq_43550409的博客 832

【DEIM创新改进】独家下采样创新改进篇 | ECCV 2026 | DEIM 引入FSD-Down频域-空间动态下采样,在下采样过程中保留小目标的高频信息、助力小目标检测、遥感小目标检测有效涨点

🔥本文提出了一种名为FSD-Down的频域-空间动态下采样模块,用于改进DEIM网络模型在小目标检测中的性能。FSD-Down通过小波分解显式保留低频语义和高频细节,结合分组卷积、动态通道权重和可学习缩放因子,自适应强化目标边缘与纹理特征。该模块能有效减轻传统下采样造成的频率混叠和细节丢失,提升对小目标、密集目标和低对比度目标的检测能力。实验表明,FSD-Down计算开销可控,在保持实时性的同时显著提升检测精度,特别是在VisDrone和AITODv2数据集上对小目标的检测性能提升显著。

Ai缝合怪、助力小伙伴高效发论文 82

Qt 5.12 使用 C++14 特性

**如何启用 C++14** | 在 `.pro` 中添加 `CONFIG += c++14` 或 `QMAKE_CXXFLAGS += -std=c++14` || **支持的最高标准** | C++14(需手动启用,依赖编译器) |Qt 5.12 默认使用的是 **C++11** 标准,但部分特性可能支持 **C++14**(取决于编译器和配置)。#### **方法 1:检查 `qmake` 项目文件(.pro)**

m0_70984261的博客 557

滤波算法实现大全——基于匀速直线运动模型的kalman滤波算法

滤波算法实现大全——基于匀速直线运动模型的kalman滤波算法

jane0819的博客 523

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

QT5.14.2 交叉编译

tslib 触摸屏支持 tslib-1.22 ./configure --prefix=/opt/tslib --host=arm-linux CC=arm-linux-gnueabihf-gcc --enable-static 修改交叉编译配置 gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEF..

u012456479的博客 3602

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

上一篇: QT第十十一课程笔记 - 数组和练习
下一篇: QT第15节课程笔记 -C++权限初识
上官可编程
博客等级 码龄14年 1398粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

上官可编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值