# cookiecutter-qt-app
![main](https://github.com/agateau/cookiecutter-qt-app/workflows/main/badge.svg)
## What is this?
[Cookiecutter][cookiecutter] is a command-line tool to create projects from project templates. This repository contains a template to build a Qt application.
[cookiecutter]: https://github.com/audreyr/cookiecutter
The application created with this template is not a simple "Hello World", the goal is to produce a useful base for a "real world" application.
By "real world" I mean the application comes with:
- Translation support
- Installing data files, and code to find them on the disk
- Desktop shortcuts
- Unit-testing, using [Catch2][]
- Packages/installers for Linux, macOS and Windows (WIP, see below)
- Code formatting, using clang-format (TODO)
[Catch2]: https://github.com/catchorg/Catch2
### Packaging support
Right now the cookiecutter supports:
- Linux .deb packages
- Linux .rpm packages
- Windows installers
- macOS dmg
But the goal is to add:
- Linux AppImage
- Linux Snaps
- Linux FlatPak
## Getting started
Install cookiecutter:
```
pip install cookiecutter
```
Create your app by running:
```
cookiecutter https://github.com/agateau/cookiecutter-qt-app
```
and answering the questions.
Your app skeleton is now ready, time to build it:
```
cd your_app_name
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/where/to/install ..
make
make install
```
Look in `/where/to/install`. Your app should be there, ready to be started. Give it a try!
Your app source code comes with some unit-tests. You can run them with:
```
make check
```
You are all set, time to turn this skeleton into a real app!
## Creating packages
To generate a package (or an installer, depending on your OS), build the `package` target:
```
make package
```
This will generate a package or installer for your app.
You can also generate a source archive using the `package_source` target.
## Continuous Integration support
The created app comes with a `ci` directory containing scripts to help you setup continuous integration. You can learn more about it in [docs/ci.md](docs/ci.md).
### CI for the cookiecutter itself
This cookiecutter has a CI setup itself. It works by first running `cookiecutter` to produce the app, then running the scripts from the produced app to build it. This way the app CI scripts are tested in a setup closer to the real use case.
## Documentation
- Dependencies: [docs/dependencies.md](docs/dependencies.md)
- CI: [docs/ci.md](docs/ci.md)
- Unit-tests: [docs/tests.md](docs/tests.md)
- Icons: [docs/icons.md](docs/icons.md)
- Translations: [docs/translations.md](docs/translations.md)
九九长安
- 粉丝: 26
- 资源: 4534
最新资源
- 自研DSP28335+移相全桥+纯程序实现同步整流 目前在DSP固有损耗2W的情况下,输出120W效率接近94% 就是铝基板+平面变压器玩起来太贵,不好做小批量,335现在也很贵 基于035的低
- 黏菌优化算法优化用于分类 回归 时序预测 黏菌优化支持向量机SVM,最小二乘支持向量机LSSVM,随机森林RF,极限学习机ELM,核极限学习机KELM,深度极限学习机DELM,BP神经网络,长短时记忆
- 灰狼优化算法优化用于分类 回归 时序预测 灰狼优化支持向量机SVM,最小二乘支持向量机LSSVM,随机森林RF,极限学习机ELM,核极限学习机KELM,深度极限学习机DELM,BP神经网络,长短时记忆
- 麻雀搜索算法优化用于分类 回归 时序预测 麻雀优化支持向量机SVM,最小二乘支持向量机LSSVM,随机森林RF,极限学习机ELM,核极限学习机KELM,深度极限学习机DELM,BP神经网络,长短时记忆
- 模型开发域控制Simulik自动生成代码 DSP2833x基于模型的电机控制设计 MATLAb Simulik自动生成代码 基于dsp2833x 底层驱动库的自动代码生成 MATLAB Simu
- 随机配置网络模型SCN做多输入单输出的拟合预测建模 程序内注释详细直接替数据就可以使用 程序语言为matlab 程序直接运行可以出拟合预测图,迭代优化图,线性拟合预测图,多个预测评价指标 P
- comsol中相场方法模拟多孔介质中驱替的计算案例 提供采用相场方法模拟多孔介质中驱替的算例,可在此基础上学会多孔介质中的驱替模拟,得到水驱油(或其他两相)后多孔介质中的残余油分布,计算采出程度随时间
- 该模型为内置式PMSM的电压反馈弱磁法,转速环输出给定转矩,输出转矩经牛顿迭代数值求的MTPA的最优dq电流,当电压超过直流母线电压时,构建电压闭环输出负的d轴电流进行弱磁扩速
- MATLAB应用数字散斑相关方法计算位移应变p文件资料包(参数可调) 专业性和针对性强
- 光伏控制器,mppt光伏最大功率点跟踪扰动观察法变步长扰动观察法仿真模型
- 基于fpga的半带滤波器仿真程序 1.软件:vivado 2.语言:Verilog 3.具体流程:包括ip核实现版本与非ip核实现版本,包含信号发生,合成,半带滤波器,抽取变频,fifo,fft流程
- 多目标 灰狼算法 多目标 冷热电微网 低碳调度 MATLAB代码:基于多目标灰狼算法的冷热电综合三联供微网低碳经济调度 参考文档:《基于改进多目标灰狼算法的冷热电联供型微电网运行优化-戚艳》灰狼算法
- 电动汽车控制器,纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真、经济性仿真、续航里程仿真 模型包括电机、电池、车辆模型 有两种模型2选1: 1 完全用matlab simulink搭
- No.3 纵向速度控制-MPC控制(Carsim2019,Matlab2018a) 特殊说明:如需要电车版本的请咨询 采用上层控制器和下层控制器 目标为控制车辆的纵向速度,使其跟踪上期望纵向速度曲线
- HEV并联(IPS) 车辆仿真 simulink stateflow搭建 模型包含工况路普输入,驾驶员模型,车辆控制模型(CD CS 状态切 以及EV HEV Engine模式转), 电池及电机系统模
- 用信捷XDH总线控制6轴运动,电子凸轮定长切断带折叠,本程序用于一次性床单机,ST加梯形图编写,三期验证时间加密锁
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0