All Projects → agateau → cookiecutter-qt-app

agateau / cookiecutter-qt-app

Licence: other
A cookiecutter to create Qt applications, with translations and packaging

Programming Languages

python
139335 projects - #7 most used programming language
CMake
9771 projects
shell
77523 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to cookiecutter-qt-app

qt-qml-project-template-with-ci
Template for a Qt/QML application with batteries included: GitHub C.I. for your QML app; automated gui testing with Xvfb; automatic code-format checks and more. Compiles for Desktop and Mobile (Linux, Mac, Windows, and Android).
Stars: ✭ 33 (+13.79%)
Mutual labels:  cookiecutter, cookiecutter-template, cookiecutter-qt
cookiecutter-flask-skeleton
Flask Starter Project
Stars: ✭ 56 (+93.1%)
Mutual labels:  cookiecutter, cookiecutter-template
fastapi-starter
A FastAPI based low code starter: Async SQLAlchemy, Postgres, React-Admin, pytest and cypress
Stars: ✭ 97 (+234.48%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-homeassistant-component
A cookiecutter project template for generating the structure for a new custom component.
Stars: ✭ 22 (-24.14%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-homeassistant-custom-component
Cookiecutter template for Home Assistant custom component
Stars: ✭ 37 (+27.59%)
Mutual labels:  cookiecutter, cookiecutter-template
at-python-template
The official Python Project Template of Alexander Thamm GmbH
Stars: ✭ 34 (+17.24%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiedozer
📱 Cookiecutter for i18n Kivy Apps
Stars: ✭ 48 (+65.52%)
Mutual labels:  cookiecutter, cookiecutter-template
theme-cookiecutter
A cookiecutter template to help you make new JupyterLab theme extensions
Stars: ✭ 47 (+62.07%)
Mutual labels:  cookiecutter, cookiecutter-template
python-template
Netherlands eScience Center Python Template
Stars: ✭ 136 (+368.97%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-python-cli
A cookiecutter template for creating a Python CLI application using click
Stars: ✭ 65 (+124.14%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-go
boilerplate, golang project starter tool, support go-zero/go-micro/gin
Stars: ✭ 63 (+117.24%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-modern-datascience
Start a data science project with modern tools
Stars: ✭ 136 (+368.97%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-pyms
Cookiecutter template for a Python microservice.
Stars: ✭ 49 (+68.97%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-pypackage
A cookiecutter template for Python package with heavy use of Github actions
Stars: ✭ 19 (-34.48%)
Mutual labels:  cookiecutter, cookiecutter-template
Cookiecutter Data Science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
Stars: ✭ 5,271 (+18075.86%)
Mutual labels:  cookiecutter, cookiecutter-template
FastAPI-template
Feature rich robust FastAPI template.
Stars: ✭ 660 (+2175.86%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-modern-pypackage
Cookiecutter template for a modern Python package.
Stars: ✭ 97 (+234.48%)
Mutual labels:  cookiecutter, cookiecutter-template
cookiecutter-django-gulp
A Cookiecutter template for integrating Gulp in Django projects.
Stars: ✭ 24 (-17.24%)
Mutual labels:  cookiecutter
lamby-cookiecutter
AWS SAM Cookiecutter to Quick Start Rails & Lambda 🐑🛤
Stars: ✭ 17 (-41.38%)
Mutual labels:  cookiecutter-template
ddpt
Template for Django Projects - From development to production with Docker Swarm.
Stars: ✭ 54 (+86.21%)
Mutual labels:  cookiecutter

cookiecutter-qt-app

main

What is this?

Cookiecutter is a command-line tool to create projects from project templates. This repository contains a template to build a Qt application.

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)

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.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].