BlackJack hat geschrieben:@mephisto-online: Qt ist in C++ geschrieben und `PySide` oder `PyQt` sind Python-Anbindungen an die Qt-Bibliothek. Die Bibliotheken stellen die Funktionen und Klassen in der Bibliothek als Python-Objekte zur Verfügung. Das Konzept mit den Signalen und Slots von Qt hat mit der Programmiersprache C++ erst einmal nichts zu tun, das ist eine Qt-Besonderheit. Dazu stellt das Qt-Projekt einen speziellen Präprozessor, den „Meta Object Compiler” (``moc``) zur Verfügung und ein Build-Werkzeug ``qmake`` das diesen Compiler kennt.
Mit dem moc, das wusste ich jetzt noch nicht, ich hatte nur mit C++ angefangen, meine Hauptklassen zu deklarieren. Der Rest war mir schon klar.
BlackJack hat geschrieben:
Meiner Meinung nach sollte man C++ nur lernen wenn es gar nicht anders geht. Ich bin aber voreingenommen weil ich mit der Sprache nicht zurecht komme.
Oh, das tut gut, mir ging es exakt genau so! Und ich dachte schon, dass ich einfach nur zudummzumzum bin...
BlackJack hat geschrieben:
Die ist einfach nur höllisch kompliziert und nervig.
Das fand ich auch. Eigentlich sogar unnötig kompliziert !
BlackJack hat geschrieben:
Und mit Qt zusammen ist sie wohl ein klein wenig erträglicher weil die Bibliothek viele nützliche Sachen bereit stellt und einen bestimmten Stil ”erzwingt”, man also nicht mehr mit der ganzen Komplexität von C++ konfrontiert sein muss.
Das habe ich schon direkt am Anfang gemerkt, als ich was mit nem String und der stdlib machen wollte und danach das Ganze mit QString. Aber warum sollte man es einfach machen, wenn es auch kompliziert geht.
BlackJack hat geschrieben:
Um Qt in Python nutzen zu können muss man zwar die C++-Dokumentation der Bibliothek lesen können, aber das ist wesentlich einfacher als tatsächlich in C++ programmieren zu lernen. Es geht hauptsächlich darum das man C++-Funktions- und -methodensignaturen lesen kann und versteht wie man die Informationen aus der Qt-Dokumentation auf Python abbilden muss. Ansonsten werden in der Qt-Dokumentation die Konzepte IMHO sehr gut und ausführlich dokumentiert die hinter den Qt-Klassen stehen und wie die Komponenten zusammen spielen; und das weitestgehend sprachunabhängig.
Das ist alles richtig ! Eigentlich komme ich mit dem Lernen sehr gut voran. Erst habe ich ein reines Python-Tutorial durchgearbeutet und jetzt eines mit dem PySide- bzw. dem PyQt-Package. Erst hatte ich das mit der NinjaIDE gemacht. Das hatte mich aber ständig verunsichert, weil ständig irgendwas angeblich dem Interpreter nicht gefiel. Jetzt, mit PyCharm macht das richtig Spaß. Es waren die Sätze, die ich oben zitiert habe, welche mich verunsichert haben. In diesem Zusammenhang gingen auch ein paar Beispiele nicht, weil da imports drin waren, die einfach nicht existieren und nirgendwo im Text aufgetaucht sind (z.B.
from __future__ import print_function). Aber insgesamt fängt es an, dass ich die Sprache Python, erst recht mit den Möglichkeiten von PySide, richtig geil finde.
Aber auf jeden Fall danke für die 100%ige Bestätigung, dass man C++ wirklich nicht braucht, um "ganz normale" Programme zu schreiben.
P.S.: Nur Win7 hat mich ein weiteres Mal enttäuscht ! Hatte ein schönes Tetris-Programm in Python abgekupfert und wollte bei meiner Frau damit ein bisschen Welle machen. Aber bei Win7 muss man Python natürlich erst mal installieren. Bei Linux geht das immer standardmäßig und beim Mac auch.