• Stars
    star
    151
  • Rank 246,057 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 5 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Hot reload for nested qml files

QHot

Live preview of your qml modifications. It works with nested qml components !

Check the online version qmlonline (Now as an official KDE project) !

Install

Downloads 📦

Arch Linux ⚡

  • AUR: qhot-git

Build for local Qt kit

Build qhot from sources for your specific Qt kit, and install it alongside the other Qt tools. This way qhot will find all the Qt plugins that you already have installed on your local system. No need for a large package.

git clone https://github.com/patrickelectric/qhot.git
cd qhot
# Configure
cmake -B build -DCMAKE_BUILD_TYPE=Release
# Or use CMAKE_PREFIX_PATH where QTDIR should point to a Qt kit, e.g. C:/Qt/5.15.2/msvc2019_64
cmake -S . -B my-build -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$Env:QTDIR"
# Compile
cmake --build build --parallel --config Release

# Install qhot in the bin folder, e.g. C:/Qt/5.15.2/msvc2019_64/bin
cmake --build build --target install

How to use

To run qhot: ./qhot.exe myFile.qml or ./qhot.dmg myFile.qml or ./qhot.AppImage myFile.qml

example

Supported commands

--help, -h, -?           Give this friendly help message for our confort
--desktop                Force use of desktop GL (AA_UseDesktopOpenGL)
--gles                   Force use of GLES (AA_UseOpenGLES)
--software               Force use of software rendering (Qt::AA_UseSoftwareOpenGL)
--scaling                Enable High DPI scaling (AA_EnableHighDpiScaling)
--no-scaling             Disable High DPI scaling (AA_DisableHighDpiScaling)
--import-path, -I        Add list of **import** paths (path:path)
--plugin-path, -P        Add list of **plugin** paths (path:path)
--translation            Set the translation file (file)
--style                  Change style
--profile-path           Path (including filename) to qhot-profile.json (file)
--background             Set the background color (color)
--quick-controls-conf    Path (including filename) to qtquickcontrols2.conf (file)
--app-name               Name of the application running inside qhot (name)

Store options in a profile

All the command line options can also be set in a qhot-profile.json file. For example:

{
    "import-path": [
        "lib/qml/modules",
        "src/qml"
    ],
    "background": "#808080",
    "quick-controls-conf": "src/qml/qtquickcontrols2.conf"
}

The import paths in the example above are relative to the file itself, but can also be absolute. The relative paths make it more convenient to add it to a vcs repository.

Integrate in QtCreator

Integrating qhot in QtCreator makes it very easy to quickly prototype within the IDE. See Using External Tools. Example configuration:

  1. Executable: C:\Qt\5.15.2\msvc2019_64\bin\qhot.exe
  2. Arguments: %{CurrentDocument:FilePath} --profile-path "%{ActiveProject:Path}/qhot-profile.json"
  3. Environment: QT_ASSUME_STDERR_HAS_CONSOLE=1 (This will append stdout to the console)

It is also quite handy to add a shortcut in QtCreator to launch qhot. See Keyboard Shortcuts.

Shortcuts

  • Ctrl+Meta+F1 Launch popup to change background
  • Ctrl+Meta+Q Quit application

Loading Test Data

QHot has the same functionality as qmlscene to load dummy test data and it works exactly the same way: load test data.

More Repositories

1

qmlonline

OFFICIAL REPOSITORY: https://invent.kde.org/webapps/qmlonline
QML
90
star
2

bluerov_ros_playground

Scripts to help BlueRov integration with ROS
Python
50
star
3

SLAM_Qt

My small SLAM simulator to study "SLAM for dummies"
QML
50
star
4

mini-qml

Minimal Qt deployment for Linux, Windows, macOS and WebAssembly.
QML
46
star
5

qml-rules

Just a small measurement tool made entirely in QML
QML
12
star
6

embedded-icon

12600+ icons pack for embedded graphics!
Rust
10
star
7

patrickelectric.github.io

My webpage:
SCSS
10
star
8

bridges

Serial to UDP bridge.
Rust
9
star
9

minimal-arduino-mavlink-example

A simple and minimal MAVLink arduino example
C++
7
star
10

Gcode3D

JavaScript
7
star
11

Conway-game-of-life-in-pyside2

This is a small example of PySide2 with Conway game of life
Python
7
star
12

linux2rest

Provides Linux abstraction access via REST API.
Rust
6
star
13

PX4-parameters

A simple repository to track the latest PX4 parameters
5
star
14

aulas-kde-brasil

Repositório para minhas aulas no canal KDE-Brasil
C++
5
star
15

cpy-rs

A Rust crate to help creating C++ and Python bindings
Rust
5
star
16

Qt3D-Konqi-Simulator

A simple demo of Qt3D and bullet physics engine
QML
4
star
17

rov-slam-test

Python
3
star
18

receitas

Repositório pessoal das minhas receitas prediletas
3
star
19

gstreamer-pipeline-tester

CMake
3
star
20

familysearch2familytree

Extract jsons that describe each person in your family tree
Shell
3
star
21

tldr_git

My TLDR git documentation
3
star
22

mavlink2rest-ts

TypeScript
2
star
23

machineid-cli

Generate a 'device ID' that can be used to uniquely identify a computer based on files or hardware configuration.
Rust
2
star
24

ROBOTA

The repository of ROBOTA-ufsc
C++
2
star
25

MGroundStation

Vue
2
star
26

advent-of-code-2020

My personal repository for advent of code 2020: https://adventofcode.com/2020
Rust
1
star
27

mapdown

TypeScript
1
star
28

Qt-Examples

C++
1
star
29

qrtimestamp-gst

Rust
1
star
30

BlueOS-Log-Viewer

Rust
1
star
31

webrtc-of-doom

Personal experiment to create a simple and friendly webrtc server and webpage
Rust
1
star
32

Dock

QML
1
star
33

gstpipeline-qmlsink

A simple code to run gst pipelines with qmlsink
C++
1
star
34

raycaster

Rust
1
star
35

Raspberry-Pi-ArchLinux

Wrapper script for setting up a Raspberry Pi SD card with Arch
Shell
1
star
36

mavftp-cli

A command line interface to help with mavftp access
Rust
1
star
37

autocarrier

My personal docker container deployment envionrment
Dockerfile
1
star