当前位置: 首页 > news >正文

Qt优秀开源项目之十九:跨平台记事本Notes


官网:https://www.get-notes.com
github:https://github.com/nuttyartist/notes

一.特性

1.完全基于Qt和C++
2.完全开源和跨平台(Linux、macOS、Windows)
3.运行速度快,界面美如画
4.支持Markdown
5.支持使用嵌套文件夹和通用标签分层组织文档
6.支持主题设置,在浅色、深色和深褐色之间切换
7.丰富的快捷键操作,这个一言难尽,得自己去体会了
8.支持开机启动和在线升级

二编译

这里只编译Windows版
Windows官方编译指导:build_on_windows
官方建议编译环境:
Windows7即以上
Git
Visual Studio 2017即以上
Qt 5.12.0即以上,从CMakeLists.txt里可以看出不及支持Qt6,而且优先去找的是Qt6
CMake 3.10即以上
Ninja
我的编译环境:
Windows 10
Git
Visual Studio 2017
Qt 5.12.6
CMake 3.12
ninja 1.10.2

1.下载源码

git clone https://github.com/nuttyartist/notes.git --recurse-submodules
cd notes

这里加了--recurse-submodules参数,是因为notes依赖了四个第三方库,但这四个第三方库也只依赖Qt和C++。
我这git clone失败,直接下载的的源码,四个第三方库的源码地址如下:
QMarkdownTextEdit
QSimpleUpdater
QAutostart
Qxt(这个notes源码带了,不用下载)
我把notes解压到D盘根目录,然后把QMarkdownTextEdit、QSimpleUpdater、QAutostart解压到D:\notes-master\3rdParty

2.开始编译

打开“VS2017的开发人员命令提示符”,cd到D:\notes-master,依次执行

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build build

这两条指令之前还可以用

set CMAKE_BUILD_PARALLEL_LEVEL=%NUMBER_OF_PROCESSORS%

设置CPU核心数以加快编译速度,但是源码不多,弄这些花里胡哨的没必要,所以我没设置。
如果编译一切顺利,如下图所示

如果编译报错:error C2001:常量中有换行符

打开mainwindow.cpp,把3433行Loading后的省略号改一下

3.运行

编译成功后,在D:\notes-master\build中会生成一个可执行文件Notes.exe,放心的双击吧

原文链接:Qt优秀开源项目之十九:跨平台记事本Notes-CSDN博客

相关文章:

  • Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
  • 在Go中导入软件包
  • 软件设计师——计算机网络(二)
  • 大数据技术7:基于StarRocks统一OALP实时数仓
  • JavaScript强制类型转换
  • TSINGSEE青犀中央厨房视频智能监控监管解决方案
  • SSD基础架构与NAND IO并发问题探讨
  • GeoTools学习笔记
  • 雅典娜Athena-signa音频算法源码与麦克风阵列角度定义互换问题
  • 【uniapp小程序】如何根据开发和发行,自动替换不同环境的baseUrl
  • strings
  • RocketMQ源码 Broker-SubscriptionGroupManager 订阅组管理组件源码分析
  • fastapi-amis-admin快速创建一个后台管理系统增加音乐管理功能(3)
  • 前端接入若依后,页面白屏问题排查
  • 玩转大数据11:数据可视化与交互式分析
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • gitlab-ci配置详解(一)
  • Invalidate和postInvalidate的区别
  • JavaScript-Array类型
  • JavaScript设计模式与开发实践系列之策略模式
  • Java教程_软件开发基础
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • uva 10370 Above Average
  • Vue学习第二天
  • 关于List、List?、ListObject的区别
  • 基于axios的vue插件,让http请求更简单
  • 全栈开发——Linux
  • 如何解决微信端直接跳WAP端
  • 探索 JS 中的模块化
  • 运行时添加log4j2的appender
  • ​ArcGIS Pro 如何批量删除字段
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #AngularJS#$sce.trustAsResourceUrl
  • #etcd#安装时出错
  • #pragam once 和 #ifndef 预编译头
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (十三)Maven插件解析运行机制
  • (转载)Google Chrome调试JS
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net6使用Sejil可视化日志
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net知识和学习方法系列(二十一)CLR-枚举
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @angular/cli项目构建--http(2)
  • @Data注解的作用
  • @ModelAttribute使用详解
  • @RequestMapping处理请求异常