简 述: 一款跨平台的截图贴图的软件作品, FLIPPED:Simple and beautiful cross-platform screenshot software。
本文初发于 “偕臧的小站”,同步转载于此。
MACOS
WINDOWS
LINUX
按键 | 描述 | 模式 |
---|---|---|
←, ↓, ↑, → ( A, S, W, D ) | 移动选中框位置 1 像素 | 局部 |
Ctrl + ←, ↓, ↑, → | 扩展选中框尺寸 1 像素 | 局部 |
Alt + ←, ↓, ↑, → | 收缩选中框尺寸 1 像素 | 局部 |
Shift + ←, ↓, ↑, → | 移动选中框位置 10 像素 | 局部 |
Shift + Ctrl + ←, ↓, ↑, → | 扩展选中框尺寸 10 像素 | 局部 |
Shift + Alt + ←, ↓, ↑, → | 收缩选中框尺寸 01 像素 | 局部 |
Esc | 退出 | 局部 |
Ctrl + Shift + A | 窗口智能截图 | 全局 |
Ctrl + Shift + L | 延时截图 | 全局 |
Ctrl + Shift + S | 全屏截图 | 全局 |
技术架构属初看觉着很简单,耗时几天就能写一个 Demo 级的截图,如很早写的 ShotX。
但后来心心念念,准备正式写一个具有高级/商业的软件时候,就属于有点规模。其属细节点超级多;
思路:
写的时候,保证开发过程的多平台编译,push 代码时触发构建 CI/CD, 及生成对应平台的包便于安装。
截图的工作量、尤其是细节的实现是挺多的。需要花时间来打磨产品和优化细节,让它成为美观又好用的一款软件,再造一个极佳的轮子。
绝知此事要躬行;列举开发过程中遇到的具体困境,以供后来者参考。
git submodule
还 git treemodule
命令呢?ui->retranslateUi(this)
函数?『解决』 愿编程不再乱码(含Qt)-根因深究
『解决』 Git Submodule 基本用法
『解决』从 LOG 分析调研,采用 Spdlog / QDebug,以及对此两套的宏封装
『解决』有很多,后抽空整理更多
『解决』 LPSTR/LPCSTR/LPTSTR/HWND/HANDLE/HMODULE/HINSTANCE 等含义和区别
『解决』 参考
『解决』还是 Qt Assistant 解围粗心, 创建 QKeySequenceEdit() 后,显示方块■◆乱码
『解决』 Linux 中用 dh_make 将 Qt + CMake 项目打包为 deb 文件
『解决』构建的自动打包
『解决』未完待续。。。
Qt >= 5.15.2
CMake >= 3.16
MSVC >= 2019 | MinGW >= 8.1.0 | GCC >= 9.4 | Clang >= 12.0
备注: 这是已经成功编译的一些版本,在更低的版本未经过测试。
工具链: Windows 10 & Qt 5.15.2 & CMake 3.24.1 & MSVC 2019 ( or MinGW 8.1.0)
编译步骤:
# ******************** MSVC 2019 ********************
#『Step1』
# x86:
# 添加 "C:\Qt\5.15.2\msvc2019\bin" 到 path 后,终端执行 echo %PATH% 使其立即生效
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" x86
cmake -G "Visual Studio 16 2019" -A Win32 ..
devenv Flipped.sln /Build "Release|Win32"# x64:
# 添加 "C:\Qt\5.15.2\msvc2019_64\bin" 到 path 后,终端执行 echo %PATH% 使其立即生效
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64
cmake -G "Visual Studio 16 2019" -A x64 ..
devenv Flipped.sln /Build "Release|x64"#『Step2』
Visual Studio 2019 open `Flipped.sln`#『Step3』
windeployqt bin/Flipped.exe --no-translations# ******************** MinGW 8.1.0 ********************
QtCreator opens the `CMakeLists.txt` file in the root directory of the source code
工具链:
编译步骤:
git clone --recursive https://github.com/XMuli/Flipped.git
cd Flipped
mkdir build & cd build
cmake ..
make -j16
代码构成:
构建各个平台后的包,附上另外一些实际运行图。Other 更多截图效果可 → 在此预览
QQ:偕臧 : 直接和我聊天~ | GitHub:XMuli : 查看我的主页
Blog: 偕臧的小站 : 好奇我的小窝 | Blog:国内镜像 :浏览量 100W+
若是帮助到了你,或者觉得有用,可以点击该项目的的 ⭐Star 和🍴 Fork 的两个图标,方便抬手之间,表示点个赞,手有余香,其次才是一份冰的肥宅快乐水。 → project
- 若是此项目帮助到了你,或者觉得有用,或是想帮助此项目的发展,你也能够邀请我喝一杯杯肥仔快乐水。 -
非常欢迎你的加入!对于此软件有任何缺陷、建议、功能想法、都可 提一个 Issue ;或者帮助此项目的完善,提交一个 Pull Request。
请遵循 Contributor Covenant 行为规范。
QtExamples
欢迎 star
⭐ 和 fork
🍴这个系列的 C++ / QT / DTK
学习,附学习由浅入深的目录。
ExCMake
欢迎 star
⭐ 和 fork
🍴这个系列的 CMake
学习,附学习由浅入深的目录。