PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qtcreator auf Raspi: welches gutes deutsches Tutorial mit versch. Programmbeispielen?



HaWe
14.01.2019, 21:31
hallo,
wer kann aus eigener Erfahrung für qtcreator auf Raspi ein gutes deutsches Tutorial mit verschiedenen einfachen Schritt-für-Schritt Programmbeispielen empfehlen?

Es sollen GUI Anwendungen wie bei Borland C++ Builder erstellt werden, d.h. Design eines Formulars ("form") mit Widgets (Buttons, Text fields, Dialogs, Radio buttons...), die per drag+drop aus einer Menüleiste in das Formular gezogen und dort platziert werden sollen.

NumberFive
28.01.2019, 05:32
Verstehe ich das richtig du möchtest ein GUI Bauen die eine GUI Baut ? Also ein Programm das Oberflächen erstellt ?

http://doc.qt.io/archives/qt-4.8/designer-using-a-ui-file.html
Das ist zwar nicht Deutsch aber es gibt eine GUI Designer vielleicht kann man den Nutzen dann hat man weniger Aufwand.
Der wird zum Beispiel auch verwendet wenn ich ein Visualstudio Projekt mit Qt benutze um die Dialoge zu malen.

Das klingt nach viel Aufwand vielleicht kannst du mal die Idee dahinter beschreiben vielleicht gibt es ja auch ne Andere Lösung.

HaWe
28.01.2019, 09:02
Verstehe ich das richtig du möchtest ein GUI Bauen die eine GUI Baut ? Also ein Programm das Oberflächen erstellt ?

http://doc.qt.io/archives/qt-4.8/designer-using-a-ui-file.html
Das ist zwar nicht Deutsch aber es gibt eine GUI Designer vielleicht kann man den Nutzen dann hat man weniger Aufwand.
Der wird zum Beispiel auch verwendet wenn ich ein Visualstudio Projekt mit Qt benutze um die Dialoge zu malen.

Das klingt nach viel Aufwand vielleicht kannst du mal die Idee dahinter beschreiben vielleicht gibt es ja auch ne Andere Lösung.

dankeschön, das ist jetzt "der andere Weg" - getrennt qt designer und qt mit qmake, wo man jeden einzelnen Code selber schreiben muss, samt makefiles und aller include/linker/compile/build-Einstellungen- und leider beschrieben in Englisch.
Ich suche allerdings den qt creator, der ähnlich wie der Borland C++ Builder sowohl das grafische Design ALS AUCH die zugehörigen Form-, Widget- und Event/Exception-Basiscodes und Wrapper angeblich automatisch erstellen können soll, mit Compile- und Start des Programms direkt aus der GUI IDE heraus.
Ich habe ihn schon mal installiert auf dem Raspi, aber nach dem Start wird man von Tonnen von Bildchen und Options und Sources geradezu erschlagen, ich weiß überhaupt nicht, wie man da überhaupt anfangen und dann wie weitermachen soll...

HaWe
28.01.2019, 11:32
PS,
die Idee dahinter ist ewas ähnliches wie das gezeigte Bild hier unten im Post vom C++ Builder Topic https://www.roboternetz.de/community/threads/72957-Arduino-am-Windows-PC-GUI-zur-Fernsteuerung-und-zum-Messwerte-anzeigen-%28per-USB%29?p=649807&viewfull=1#post649807
allerdings noch zusätzlich mit1 oder 2 Zeichenflächen (canvas) für Grafik (Daten als Zeichnung) u/o, Cam.

NumberFive
29.01.2019, 15:06
Hallo ganz ehrlich unter Linux muss ich mal gucken wie man das startet. Unter Windows gibt es den qtcreator den kann man starten da muss man auch nicht die Makefiles und so selbst machen das Quasi die IDE von QT.
Hast du noch ein Leistungsfähiger Rechner oder willst du alles auf dem PI machen ?

https://qtvon0auf100.wordpress.com/2012/05/24/qt-creator/

Also liege ich falsch du suchst nicht die Möglichkeit eine GUI die eine GUI macht sondern eine IDE die hilft einen Dialog zu erstellen ?

HaWe
29.01.2019, 18:45
Also liege ich falsch du suchst nicht die Möglichkeit eine GUI die eine GUI macht sondern eine IDE die hilft einen Dialog zu erstellen ?
hi,
nein, nur den Pi mit Linux - für den qtcreator braucht man ja keine makefiles und extra qmake (Voreinstellungen wie bei Geany, man muss jur gcc/gpp anwählen)

NumberFive
30.01.2019, 05:54
Sorry jetzt bin ich Komplett verwirrt.

Auf meine Debian ist der Qt Creator drauf und den kann man einfach starten. Auf meine PI kann ich das nicht Testen da dort kein X Installiert ist aber ich gehe da von aus das es auf dem PI nicht anders ist als auf einem "echten" Debian.
Hättest du eine Linux PC wäre auch das eine Option https://www.raspberrypi.org/forums/viewtopic.php?f=75 mir Dauert das bauen auf dem PI immer zu lang. Da Funktion auch das Debuggen Remote.

HaWe
30.01.2019, 09:17
starten kann ich den qt creator auf meinem Raspi auch.
Ich brauche nun gute ausführliche deutsche Bücher oder Tutorials mit einfachen Schritt-für-Schritt-Anleitungen, wie man verschiedene Programmprojekte damit umsetzt (angefangen vom ersten erstellen eines neuen Projekts, speichern und wieder laden, verändern/speichern_unter..., mit einfachen "Hello World" per Buttondruck, Frage/Antwortdialoge, -Boxen, Popupwindows, Beispielcode erzeugen und verändern je nach Events für Radiobuttons, Checkboxen, Schiebereglern, Editfeldern, Labels, Canvas mit geometrischen Figuren/Formen/Farben, Canvas mit jpg Bildern, Canvas mit bewegten "Figuren-Sprites" (wie bei Spaceinvaders), Canvas mit Videocam-Stream, Tabellen-Widgets wie bei Excel, Textfeldern im TXT, RTF, DOC-Format, Files speichern/laden, Datenbanken wie SQL, COM-/USB-Datenübertragung,...)

Ich habe solche Bücher bislang für Borland C++ und Delphi, damit kam ich ganz gut rein in die Materie, nun wird so etwas für qt creator gesucht!

NumberFive
30.01.2019, 18:56
https://qtvon0auf100.wordpress.com/

Das sollte ein kleiner einstieg sein.
Was du von Delphi und Borland C++ als Events kennst heißt bei QT Signal(s).

Wenn du auch aus source lernen willst kannst https://bitbucket.org/numberfive/mappainter/src
Das eine Karte mit VS2015 und QT also nicht QT Creator.

https://github.com/katecpp/sheep_sweeper das war mein Einstieg um das Grundgerüst zu verstehen mir reicht halt oft Code um rein zu kommen.

HaWe
30.01.2019, 20:31
https://qtvon0auf100.wordpress.com/

Das sollte ein kleiner einstieg sein.
Was du von Delphi und Borland C++ als Events kennst heißt bei QT Signal(s).

Wenn du auch aus source lernen willst kannst https://bitbucket.org/numberfive/mappainter/src
Das eine Karte mit VS2015 und QT also nicht QT Creator.

https://github.com/katecpp/sheep_sweeper das war mein Einstieg um das Grundgerüst zu verstehen mir reicht halt oft Code um rein zu kommen.

vielen, vielen Dank!
Da hab ich jetzt erst mal ne Menge zum Lesen bis übers nächste Wochenende! 8)

NumberFive
01.02.2019, 06:25
Serial unter Linux lesen:

https://bitbucket.org/numberfive/sdl2guitests/src/a48b5a86b691811e5de093fe9c4dd996facee704/src/CarnineBackendD/MNSerial.cpp?at=master&fileviewer=file-view-default
https://bitbucket.org/numberfive/sdl2guitests/src/a48b5a86b691811e5de093fe9c4dd996facee704/src/CarnineBackendD/NmeaSerial.cpp?at=master&fileviewer=file-view-default

Das bassiert auf einem Protokoll das ein eindeutiges Endezeichen hat (NewLine) oder ETX (0x03)

Eventuell kann man den USBHotplugNotifier so um schreiben das er alles an USB erkennt. Wir benutze das um zu erkennen das ein USBStick gesteckt wurde.

Das du das brauchen könntest habe ich mal aus dem anderen Thread geraten. Klar der Code läuft nicht unter Windows aber auf dem PI und Linux PC.
Der Code braucht einen C++ 14 fähigen Compiler

HaWe
01.02.2019, 09:48
hallo,
danke, soweit bin ich jetzt noch gar nicht.
Was ich "später" allerdings bräuchte, wäre für die Arduino-Raspi-Serial-Kommunikation etwas wie

ComPort1->ShowSetupDialog();
ComPort1->Open();
if( ComPort1->Connected ) { }
n=ComPort1->Available()
if( ComPort1->TimeOut(millis) ) { }
ComPort1->WriteStr(cstr);
ComPort1->ReadStr(cstr);
ComPort1->WriteByte(c);
ComPort1->ReadByte(c);
ComPort1->Close();
...
usw.

NumberFive
01.02.2019, 16:34
Das ist doch genau das was dir die Klassen MNSerial macht.

nur mit dem Unterschied das du hier Blocking hast und ein Event bekommst wenn das Endezeichen gefunden wurde. Man muss halt auf passen das das Event in einem Andern Thread erzeugt wird un man bitte nicht damit auf die GUI geht. Das mag auch die QT nicht.

https://bitbucket.org/numberfive/mappainter/src/97007382e6455e062acfb41ef86fa886d424a720/MapWidget.cpp?at=master&fileviewer=file-view-default

Zeile 272 da wird geprüft bin ich im GUI Thread oder nicht und wenn nicht wird das Event in den Anderen Thread geschoben wo man wieder Zeichen kann. Im Prinzip hast du da den ganzen Weg nur das die Serial Quelle hier eine USB GPS Mouse ist. Das aber egal ob USB von Ardunio oder eben die GPS Mouse ist. Die klasse ist ein fast Leeres Canvas wo die Karte drauf gemalt wird.

Aber es gibt wohl auch eine Klasse aus der QT siehe https://orxor.wordpress.com/2014/10/03/rs232-programmierung-mit-c-auf-die-schnelle/ vielleicht hat die einen Konfig Dialog das weiß ich aber nicht. Ich habe es aber noch nie mit den Dialogen gemacht auch nicht bei Windows. Ich will das ja nur eine mal machen und dann soll das bitte aus der Konfig gelesen werden.

Wie gesagt ein QT Spezialist bin ich bestimmt nicht habe mir das nur ein bisschen an gesehen aber mir ist das zu riesig und es Läuft auf dem PI nur mit viel Hand Arbeit ohne X-Server für mich und mein Projekt ein absolutes muss. Auch muss man immer länger warten bis es dann wieder verfügbar ist ohne X wenn eine Neue Version raus kommt. Diese Sichtweise muss man absolut nicht Teilen hat schon was wenn man vor dem Compilieren sieht wie es aus sieht. Was jetzt bei mir nicht so ist.

Da aber der unterschied zwischen 7 Zoll Touch und "normalen" Monitor eh heftig ist muss ich es eh Kompilieren um zu sehen wie es wirklich aussieht. Der Touch hat halt mehr DPI als ein Standard Monitor zum mindestens bei mir. Oh Sorry für den Ausflug.

HaWe
01.02.2019, 17:04
Das ist doch genau das was dir die Klassen MNSerial macht.

nur mit dem Unterschied das du hier Blocking hast und ein Event bekommst wenn das Endezeichen gefunden wurde. Man muss halt auf passen das das Event in einem Andern Thread erzeugt wird un man bitte nicht damit auf die GUI geht. Das mag auch die QT nicht.

https://bitbucket.org/numberfive/mappainter/src/97007382e6455e062acfb41ef86fa886d424a720/MapWidget.cpp?at=master&fileviewer=file-view-default

Zeile 272 da wird geprüft bin ich im GUI Thread oder nicht und wenn nicht wird das Event in den Anderen Thread geschoben wo man wieder Zeichen kann. Im Prinzip hast du da den ganzen Weg nur das die Serial Quelle hier eine USB GPS Mouse ist. Das aber egal ob USB von Ardunio oder eben die GPS Mouse ist. Die klasse ist ein fast Leeres Canvas wo die Karte drauf gemalt wird.

Aber es gibt wohl auch eine Klasse aus der QT siehe https://orxor.wordpress.com/2014/10/03/rs232-programmierung-mit-c-auf-die-schnelle/ vielleicht hat die einen Konfig Dialog das weiß ich aber nicht. Ich habe es aber noch nie mit den Dialogen gemacht auch nicht bei Windows. Ich will das ja nur eine mal machen und dann soll das bitte aus der Konfig gelesen werden.

Wie gesagt ein QT Spezialist bin ich bestimmt nicht habe mir das nur ein bisschen an gesehen aber mir ist das zu riesig und es Läuft auf dem PI nur mit viel Hand Arbeit ohne X-Server für mich und mein Projekt ein absolutes muss. Auch muss man immer länger warten bis es dann wieder verfügbar ist ohne X wenn eine Neue Version raus kommt. Diese Sichtweise muss man absolut nicht Teilen hat schon was wenn man vor dem Compilieren sieht wie es aus sieht. Was jetzt bei mir nicht so ist.

Da aber der unterschied zwischen 7 Zoll Touch und "normalen" Monitor eh heftig ist muss ich es eh Kompilieren um zu sehen wie es wirklich aussieht. Der Touch hat halt mehr DPI als ein Standard Monitor zum mindestens bei mir. Oh Sorry für den Ausflug.

ich habe einen 10" (~1000x600) oder 13"/22"/30" Full-HD HDMI Screens am Raspi, je nachdem wann ich was brauche, und immer mit Pixel GUI Desktop (HDMI skaliert sich ja von alleine). ;)
Aber ich sagte ja, ich bin noch nicht so weit. Ich muss jetzt erstmal am WE einen Button platzieren, der irgendeine Funktion hat... :)
Und dann sehen wir weiter, mit Beispielcode für Serial ComPort 8)

HaWe
03.02.2019, 14:57
Leider scheitere ich bei der obigen Anleitung https://qtvon0auf100.wordpress.com/2012/05/24/was-ist-qt-und-wo-fang-ich-an/ schon beim 1. Schritt:
Nach Auswahl von
Datei...Neu..Projekte...Qt-Widgets-Projekt
kommt bei mir nach Eingabe des Namens für das neue Projekt:

"Es wurden keine gültigen Kits gefunden!"
Was zum Teufel ist das und wie suche oder finde ich sie?

HaWe
03.02.2019, 20:22
habe jetzt sogar noch mal qt5 nachinstalliert
sudo apt-get install qt5-default

- immer noch der selbe kit-Fehler.
Was ein entnervender Mist!

edit:
Merkhilfe

sudo apt-get --purge remove <package>

HaWe
06.05.2019, 18:40
so viele Raspi-Tutorial-Schreiber hier, aber niemand der weiß, wie man genau alle korrekten Einstellungenfür die nicht gefundenen qt "kits" vornimmt?

bzw. wie man qt von vornherein so installiert, dass alles Drum und Dran gleich korrekt mit installiert wird?