# GUI (Qt5, Depreciated)

## Install QT Creator 5

{% embed url="<https://www.qt.io/download-qt-installer?hsCtaTracking=99d9dd4f-5681-48d2-b096-470725510d34%7C074ddad0-fdef-4e53-8aa8-5e8a876d6ab4>" %}

Create an account if you don't have one. We are using the Community (Open Source) version of QT. It is free to use for non-commercial use.

When you get to Select Components choose the following options. You can come back and add / remove items later using their maintenance tool if you missed one or added too many.

Under QT Select Categories LTS and click filter

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8S2eynefm1-lOiemB%2F-Md8WZsLnjYggGxnYg0h%2Fimage.png?alt=media\&token=878e6a13-3ab3-4820-b488-d09e5683503f)

Under 5.15.2 choose just the MinGW 8.1.0 64 Bit Option

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8S2eynefm1-lOiemB%2F-Md8WzWDN8n78e_hARHD%2Fimage.png?alt=media\&token=ac027d5e-498a-402f-a522-a2039bc41b70)

Under Developer Tools, you want to add MinGW 8.1.0 64 bit

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8S2eynefm1-lOiemB%2F-Md8XEGjhwD_QKaaeXNY%2Fimage.png?alt=media\&token=452f658d-4ed9-4e08-a8ec-824d46a39c30)

Complete the installation wizard.

## Open QT Creator + Load the Project File

Choose **File -> Open File or Project**&#x20;

{% hint style="info" %}
Using the GIT repository cloned from the [Firmware Setup](https://headtracker.gitbook.io/head-tracker/support/development/firmware).&#x20;

Choose

/src/gui/HeadTracker.pro
{% endhint %}

On the first time opening it will ask how you want to configure it. Default is okay. Click Configure Project

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8Zs0CyfV_PE3W2XFq%2F-Md8aGsumhsJIvaVb9O2%2Fimage.png?alt=media\&token=9d37d400-48a9-49e0-be7d-cf2584665611)

In QT You set the Release or Debug mode here. You probably want Debug.

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8Zs0CyfV_PE3W2XFq%2F-Md8aaMb6KUHLRZb8iup%2Fimage.png?alt=media\&token=d8dc5e7f-5855-4285-8806-787731d14536)

Click the Play Button. It should Compile and your done!

![](https://3767854731-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Md5nSb70RWQSfl1nJPs%2F-Md8f2knx7jlnWL5eUlD%2F-Md8fgEdTDlJ8U05qOCW%2Fimage.png?alt=media\&token=3e696cda-8519-414d-9969-b3d0ad31a456)

## Other Notes

QT uses a Shadow build by default. Which means it build everything in a separate folder. We need to make add an item into that folder for the firmware list to work. I add it before a release.

{% hint style="info" %}
Default shadow build folder

**gui/build-HeadTracker-Desktop\_Qt\_5\_15\_2\_MinGW\_64\_bit-Debug**
{% endhint %}

You need to create a sources.ini (The firmware sources). The below file will allow you to see all the current online firmware in the GUI list. You can also add a localfirmware.ini if you want.

{% hint style="info" %}
sources.ini
{% endhint %}

```
[General]
Online v2.0x=https://raw.githubusercontent.com/dlktdr/HeadTracker/master/firmware/bin/firmware20.ini
Online v0.9x=https://raw.githubusercontent.com/dlktdr/HeadTracker/master/firmware/bin/firmware09.ini
Online v0.8x=https://raw.githubusercontent.com/dlktdr/HeadTracker/master/firmware/bin/firmware08.ini
Online v0.7x=https://raw.githubusercontent.com/dlktdr/HeadTracker/master/firmware/bin/firmware04.ini
Shipped=file://localfirmware.ini
```

{% hint style="info" %}
localfirmware.ini
{% endhint %}

```
[Arduino%20Nano%20BLE%2033%20-%20Version%200.9]
Filename=file://BLE v0.9.bin
Version=0.9
Notes=Visit https://github.com/dlktdr/headtracker

[Arduino%20Nano%20BLE%2033%20-%20Version%201.0%20ONLINE]
Filename=https://raw.githubusercontent.com/dlktdr/HeadTracker/master/firmware/bin/BLE v0.9.bin
Version=0.9
Notes=Visit https://github.com/dlktdr/headtracker

[Debugger 1.0 RC1]
Filename=file://Y:/Programming/HeadTracker/HeadTracker - CombineFW/firmware/src/Nano33BLE/.pio/build/HeadTracker_Nano33BLE/firmware.bin
Version=1.0
Notes=Combine FW

[Debugger 0.9]
Filename=file://Y:/Programming/HeadTracker/HeadTracker - Master/firmware/src/Nano33BLE/.pio/build/HeadTracker_Nano33BLE/firmware.bin
Version=0.93
Notes=Master FW

[Para Master v1.4]
Filename=file://Y:/Programming/HeadTracker/Para_Master/para_master/.pio/build/Para_Master/firmware.bin
Version=1.4
Notes=Master FW

[Zephyr 2.0 BIN]
Filename=file://Y:/Programming/HeadTracker/HeadTracker_Zypher/.pio/build/Head_Tracker_Zypher/firmware.bin
Version=2.0
Notes=Zephyr Master

```

You can customize this file so it directly grabs from you firmware build folder, so you can just click upload firmware to use the one just compiled. See the last section on how to do this.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://headtracker.gitbook.io/head-tracker/support/development/gui.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
