altRobots
/robotigs/icons/actuator.pngActuatoren
/robotigs/icons/printboards.pngAlgemeen
/robotigs/icons/chassis.pngChassis
/robotigs/icons/florigs.pngFlorigs
/robotigs/icons/interfacing.gifInterfacing
/robotigs/icons/microphone_icon.pngMuziek
/robotigs/icons/musicKey_icon.pngMuzikanten
/robotigs/icons/shield.pngSchildjes
/robotigs/icons/sensors.gifSensors
/robotigs/icons/languages.pngTalen
/robotigs/icons/battery.pngVoedingen
/robotigs/icons/arduino_logo.pngµControllers
altContact
Qt/robotigs/icons/login_key.png    alt  

Deze pagina is verouderd. Ga naar de vernieuwde pagina.

Qt (homepage, wiki) is een set programma`s die wij gebruiken om de grafische kant van onze Python programma`s te regelen.
  • Widgets
  • Qt widgets zijn vergelijkbaar met Python modules.

  • Qt Creator installatie
  • https://www.osradar.com/install-qtcreator-on-ubuntu-18-04/ Qt creator is de IDE van Qt. Het installeert ook Qt zelf. Enkel Qt
    • Ubuntu installatie
      • Voorbereiding
      • sudo apt-get update && sudo apt-get upgrade
        sudo apt-get install build-essential
        sudo apt autoremove
      • Installatie
      • sudo apt-get install qtcreator
        sudo apt-get install qt5-default
        sudo apt-get install qt5-doc
        sudo apt-get install qt5-doc-html qtbase5-doc-html
        sudo apt-get install qtbase5-examples

Qt & database.

QPSQL is het antwoord om te kunnen werken met een PostgressQL database.

Qt & sound.

QAudioInput class is het antwoord om te kunnen werken met sound. Enkel krijg ik het niet aan de praat. VB1

Qt & propuslsion.

Voor de aandrijving worden wielen met naafmotoren gebruikt.


Basically we need the following elements:
  • Battery gauge
    So we must create a table and create at least 1 record from which we can read. Develop an application that reads a file every 5 seconds. Kate tells us rather well. First create a new project of type widget. Or Qt SQL examples. Memory database not usable since several programs must be able to read or set in 1 record. Connecting to a database is f@%&îng complicated. Especially where to put which snippets of code. Grrr, reading.

  • Android
    I want to be able to make Android apps as well. It seems that some stuff is missing. Turns out that Qt has not yet been installed/configured entirely. Qt wants to configure a new project called dialcontrol. Then the project cannot be parsed since no kit has been set up yet. Menu Tools/Options/Built and run/Kits/Autodetected shows that a Kit is prepared but not entirely finished. Somehow I do not have the right compilers installed for Qt. 6 compilers are available in the select box with illustrious names like: Linux-ICC, MinGW, GCC, Clang, Custom, QCC. The difference is explained by Qt. Rather strange since GCC is installed. That runs but no compiler for Android. In Android options downloaded the Android SDK command line editor, not the entire studio. Turns out to be not enough. So now downloading the studio version. Makes no difference. The NDK installs ok.

  • Installer
    The first step is to install the installer. Go to download and download your version. I moved the download to my home directory. After making the graphical installer executable, I ran it by double clicking on it (*.run). In the process become a member and install the defaults. You can always install add-ons etc later. When finished you are able to open Qt creator. Qt can be installed by using the Ubuntu software center. However, this installs an old version which hardly works. BogoToBogo.

  • OpenGL
    To test for openGL use: glxinfo | grep version. In our case next step is: sudo apt-get install mesa-utils. Though it helps me one step further it turns out that I now have 1.4 installed = mesa 10.5.9. 1.45 seems highest. But the example Boxes is asking for OpenGL version 1.5 or higher is required to run this demo. The program will now exit.

  • Joystick
    A joystick is not default in Qt, but plib is supposed to be the solution. fluxrobotigs sfml example. QtGame library.

  • SQLite
    We need an "application file format", a file format used to persist application state to disk or to exchange information between programs. Qt comes with an SQLite that runs on any local machine. SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed database engine in the world. If you have Firefox then there is an add-on and you are up and running.
  • Grafische toepassingen: Gtk versus Qt
  • Wij kiezen voor Qt omdat GTK onder Windows een probleem blijkt te zijn en ik wil dat de applicatie uiteindelijk ook onder Windows loopt. Het blijkt een probleem om recente versies van GTKop Windows te installeren. Alternatief? https://riverbankcomputing.com/news
    • GTK Ubuntu
    • Gtk home (C++)
      Gtk home for Python
      Tutorial Gtk
      Hulp bij menu
      https://python-gtk-3-tutorial.readthedocs.io/en/latest/introduction.html
      https://python-gtk-3-tutorial.readthedocs.io/en/latest/layout.html
    • GTK Windows 10
    • https://pygobject.readthedocs.io/en/latest/getting_started.html Na installatie van de maintenance tool of door C:\msys64\mingw64.exe kom je in een command terminal. Doe daar: pacman -Suy. dat upgrade de boel. Vervolgens bet pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-python3 mingw-w64-x86_64-python3-gobject pacman -S mingw-w64-x86_64-python3-gobject de boel invoegen. En de test gtk3-demo werkt ook, maar onze app niet. die kan module gi niet vinden.

  • Python verbinden met Qt: PyQt5 versus PySide2
  • Wij kiezen PySide2 vanwege de vrijere licentie. From a code perspective in Python, it makes no difference because the APIs are virtually identical.(verschillenoverzicht)
    • PySide2
    • Qt for Python (PySide2) is a recent push by Qt the company to officially support Python. It`s offered under the LGPL and can thus often be used for free. Qt for Python homepage.
    • PyQt5
    • PyQt (homepage) is mature but requires you to purchase a license for commercial projects.PyQt5 tutorial.

  • Qt vs Eclipse
  • C++ is de standaard taal voor gaming. Voor het dashboard is dit dus de aangewezen taal. C++ kan worden geschreven en gebruikt in meerdere editors. Deze editors bieden veel meer dan enkel tekstbewerking. Link1: Qt vs Eclipse, Link2: Qt vs Eclipse. Al met al lijkt Qt de aangewezen weg.
    • Instellingen robot
    • The cockpit is the place to drive the robot by wire (wiki). It is a computer on which several programs and add-ons can run at the same time. Test Bolderbot settings.
    • Qt is een framework om een user interface te maken. Qt Creator lijkt een handige en leuke tool om in C++ programmas voor een robot te ontwikkelen. Het is vooral geschikt om programmas voor vele platforms te ontwikkelen.
    • Eclipse lijkt zich hoofdzakelijk te richten op C++ en is ook een main tool voor Java.

  • LEGACY PyQt5 installatie
  • LEGACY want we gebruiken PySide2.

    Voor Python gebruiken we PyQt5 om de grafische user interface te maken. first programs.
    • Installatie Ubuntu
    • PyQt5 installatie
      • Voorbereiding
      • sudo apt-get update && sudo apt-get upgrade
        sudo apt-get install build-essential
        sudo apt autoremove
      • Installatie
      • pip3 install --user pyqt5
        sudo apt-get install python3-pyqt5
        sudo apt-get install pyqt5-dev-tools
        sudo apt-get install qttools5-dev-tools

  • LEGACY Qt & Joystick
  • Een joystick is niet standaard opgenomen in Qt. SDL wordt aangeraden om een joystick in Qt te integreren. SDLbasic werkt echter niet rechtstreeks. Het laat wel de naam van de joystick zien, maar verder houdt het op. Ook in SDL basic blijkt de gemakkelijkste weg om de file uit te lezen. Open "/dev/input/js0" for input as 1. Dat werkt automatisch en het werkt goed. Qt Joystick test.


Algemene informatie over dit onderdeelAlgemene informatie test
Menu groep  Talen
Laatste verandering  2020-02-08

Robots waar dit onderdeel in zit
Dashboard
Just wait till your 57....
Afb 1: Batterymeter

Just wait till your 57....
Afb 2: Cockpit 2016-04-29

Just wait till your 57....
Afb 3: Wordt aan gewerkt