Qt6基础篇(四)——解读Qt的CMakeLists
Qt6基础篇(四)——解读Qt的CMakeLists前言: 开发c++ Qt6,有必要对CMakeLists有一些了解,方便管理和构建适合项目需求的工程。 1 CMakeLists 通过Qt Creator创建了一个空窗体Demo,以下是其CMakeLists.txt。 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970cmake_minimum_required(VERSION 3.5) # 指定CMake的最低版本。project(untitled VERSION 0.1 LANGUAGES CXX) # 指定工程名、项目版本号、语言类型。set(CMAKE_AUTOUIC ON) # 启用自动转换.ui文件的功能。set(CMAKE_AUTOMOC ON) #...
Qt6基础篇(三)——创建Demo并通过CMake在终端编译
Qt6基础篇(三)——创建Demo并通过CMake在终端编译前言: 打开Qt Creator。可以通过点击 Creator Project 或直接点击一个示例创建Demo,这里选择 Calculator Builder 示例。 1 创建桌面应用例程 设置工程放置的路径,然后点击 Copy Project and Open 新建这个例程。 按照默认配置,点击 Configure Project 。 创建后我们通过终端的CMake编译,不通过Qt Creator,工程里会自动创建好CMakeLists.txt,可以基于此修改出适合自己工程的CMakeLists.txt。 工程目录如下。 123456789╰─ tree -L 1.├── build├── calculatorbuilder.pro├── calculatorbuilder.qrc├── calculatorform.ui├── CMakeLists.txt├──...
Qt6基础篇(二)——安装c++开发环境
Qt6基础篇(二)——安装c++开发环境前言: 使用c++开发Qt,需要安装c++环境。 1 安装c++环境 开发C++ Qt,需要安装基础的C++开发环境,即GCC和c++标准库。 在Ubuntu中遇到“’type_traits’ file not found”这类错误,通常意味着你的开发环境中缺少C++标准库的头文件。type_traits是C++标准库的一部分,它应该包含在libc++或libstdc++中,具体取决于你使用的C++标准库版本。 对于大多数Ubuntu系统,默认的C++标准库是libstdc++,这是GCC的一部分。如果你试图编译的代码依赖于C++11或更高版本的特性,那么你需要确保安装了支持这些特性的编译器和相关的开发文件。 以下指令中x为GCC的版本号,比如 sudo apt-get install g++ build-essential libstdc++-11-dev 。 12sudo apt-get updatesudo apt-get...
c++基础篇(三)——命名空间
c++基础篇(三)——命名空间前言: 与c相比,命名空间是c++的一大特色,这样的设计注定了c++是面向超大型编程项目的。 1 介绍 为什么需要命名空间?在c中并不支持命名命名空间,c在大型项目中会遇到烦人的命名重复的问题。大型工程中,不同的模块会分配给不同的人或团队开发,各自模块测试通过,最终合到一起时可能会发现命名重复,给模块设计带来额外的负担。使用第三方代码时,也存在与其命名重复的可能,c++引入命名空间可以很好的解决大型项目中命名重复的问题。 2 定义命名空间 c++中通过关键词 namespace 定义一个命名空间,在这个命名空间内定义的变量或函数即属于这个命名空间,必须通过该命名空间才能访问到。以下代码定义了命名空间 MyNameSpace ,并且通过命名空间名访问了命名空间内的函数和变量,访问通过 :: 符号。 12345678910111213141516171819202122#include <iostream>namespace MyNameSpace{int...
c++基础篇(二)——头文件
c++基础篇(三)——头文件前言: 在c++中头文件的包含形式更加多样。 1 包含头文件 在c语言中包含头文件时必须带上文件后缀名 .h ,而c++有着其独特的形式。 类型 规则 示例 说明 c旧式风格 带.h后缀 #include <stdio.h> c中使用 c++旧风格 带.h后缀 #include <iostream.h> c++中使用,对应的文件名是iostream.h c++新风格 不带后缀 #include c++中使用,对应的文件名是iostream c++风格 带c前缀 #include c++中使用c头文件,一些c库有c++版本,其名称带有c前缀,比如c中的math.c在c++中为cmath 如果用c++代码写,标准库的头文件建议不带 .h 后缀名,c标准库的代码建议使用c前缀名的方式。 123456789101112#include <iostream>#include <cmath>#include...
c高级篇(一)——难发现的命名重复
c高级篇(一)——难发现的命名重复前言: 这是我开始编写的第一个高级篇博文,分类的大体的原则是,基础篇写必须掌握的基础知识,进阶篇写需要一定理解深度才能真正掌握的知识,而高级篇写一些偏经验性的,书本上可能学不到的知识。 1 宏和枚举名重复 为什么需要命名空间?在c中并不支持命名命名空间,在大型项目中会遇到烦人的命名重复的问题,比如宏名、枚举名、全局变量名、函数名。大型工程中,不同的模块会分配给不同的人或团队开发,各自模块测试通过,最终合到一起时可能会发现命名有较多重复,没发现的就将成为Bug。比如下面这c段代码。 123456789101112131415#include <stdio.h>typedef enum{ NAME = 0} tenuTest;#define NAME 5int main(void){ printf("NAME is %d\n", NAME); return 0;} 这段代码枚举和宏都定义了...
c++基础篇(一)——输入输出
c++基础篇(一)——输入输出前言: 想起当年在图书馆自学c++,奈何毕业七年了,工作中并不需要使用c++。最近想搞几个开源项目,甚至将来做独立游戏开发,遂将书本拾起,重温旧梦。 博文将假定阅读者已有一定c基础,在此基础上学习c++。 1 第一个c++程序 用经典的 Hello World! 输出开局。 12345678#include <iostream>int main(void){ std::cout << "Hello World!" << std::endl; return 0;} 输出结果为。 1Hello World! cout 是c++的打印输出,std:: 表示其所处的命名空间, endl 表示输出换行。 123456789101112#include <iostream>int main(void){ int number...
自娱自乐,我的博客(十九)——腾讯云COS做图床
自娱自乐,我的博客(十九)——腾讯云COS做图床前言: jsDelivr做图床有大小限制,要白剽觉得太麻烦,好在腾讯云的COS也不贵,就当为信仰充值了。 1 COS介绍 COS (Cloud Object Storage)是一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。完全可胜任做博客图床的。 2 搭建COS图床2.1 购买COS服务 登陆 腾讯云官网COS购买页面 购买COS,目前做活动,新用户首次购买,一年只需要一元。 若不是新用户就没有这些优惠了,非新用户一年需要9.77元,也很便宜了。 上面只是购买了存储容量的服务,数据访问产生的流量费用是另外计费的,建议购买流量套餐,这样费用更划算。购买下行流量包一年需要41.4元。访问量高的话一定要开流量套餐,不然费用会高,账户里不建议留太多钱,因为余额不足会暂停服务,但余额足够就持续扣款了。 2.2 搭建COS图床 在控制台点击...
自娱自乐,我的博客(十八)——Github + jsDelivr图床方案
自娱自乐,我的博客(十八)——Github + jsDelivr图床方案前言: gitee的免费图床没了,如果想白剽,还可使用jsDelivr做图床。 1 jsDelivr介绍 jsDelivr是一个免费且开源的公共CDN(内容分发网络)服务,可用于Github图片访问的加速,其实Github就是最好的免费图床,奈何国内访问Github速度比较慢。Github的图片经过jsDelivr加速后访问速度可满足博客网站的使用。 2 搭建Github + jsDelivr图床 先在Github创建一个仓库,专用于存放博客中的图片,而且建议存放路径和文章路径对应。Github仓库里的每张图片就有自己的地址,比如 https://github.com/onlycalm/blogimage/blob/main/res/Avatar.png 。要让这张图片经过jsDelivr加速,只需要修改网址即可,网址格式有两种。 通过分支:https://cdn.jsdelivr.net/gh//@/...
Qt6基础篇(一)——安装Qt Creator
Qt6基础篇(一)——安装Qt Creator前言: 这篇文章介绍如何安装Qt6并运行第一个自己的窗口程序。 1 下载 目前最新的Qt6版本是v6.7.2,安装方式为在 官网 下载一个在线安装器,较老的版本还能离线安装。 2 安装 点击 Linux x64 下载在线安装器。 勾选 Execute ,允许*.run文件执行。 执行指令运行Qt在线安装程序。 1sudo ./qt-online-installer-linux-x64-4.8.0.run 填写自己Qt账号,如果还没有账号先去官网注册。然后点击 Next 。 勾选已知晓开源协议,如果是个人开发则写 Personal ,如果是给公司开发则写公司名。请遵守开源协议。 点击下一步开始安装。 路径按照默认即可。当本地有下好的特定版本的Qt安装文件时,选择第一个 Custom Installation...