ubuntuusers.de

Archiv/Qt

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Archiv/Qt.

Mojo_Dodo

Anmeldungsdatum:
31. Januar 2008

Beiträge: 212

EDIT: kann gelöscht werden - habe in der Diskussion zum falschen Art gepostet

wired2051

Avatar von wired2051

Anmeldungsdatum:
28. Februar 2007

Beiträge: 2769

Sollte hier nicht auf den Artikel GTK+ Anwendungen unter KDE hingewiesen werden? Beispielsweise unter Aussehen unter GTK anpassen oder Links?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

kannst du. Es gibt ja schon einen Abschnitt zu GTK am Ende des Artikels.

Gruß, noisefloor

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

Sollte Qt4 nicht langsam aus dem Artikel raus? EOL war im Dezember 2015; Qt6 ist schon als Beta -version verfügbar. In dem Zusammenhang: Getestet general trifft es nicht wirklich...

so long
hank

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ja, auf jeden Fall. Auch die Einleitung könnte mal ein bisschen aktualisiert werden. Qt ist inzwischen ja "universell cross-platform" und läuft auch auf Android und iOS.

Um die Einleitung würde ich mich kümmern, wenn jemand den Rest des Artikels auf den Stand der Dinge (also Qt5) bringt.

Nachtrag: IMHO kann man den Artikel auch zum Übersichtsartikel umstricken.

Gruß, noisefloor

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ich habe gerade mal das "getestet: general" gegen "getestet: xenial" ausgetauscht. Das ist hier auch IMHO wieder ein schönes Beispiel, das "getestet: general" gerne mit der Lizenz zum Vergammeln eines Artikels einher geht.

Wer auch immer den Artikel überarbeiten mag: bitte alles zu Qt4 komplett entfernen.

Gruß, noisefloor

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Hallo!

Ich schlage vor den Artikel wie er ist als Qt4 zu archivieren und für Qt5 dann einen neuen anzulegen. Qt6 steht auch schon vor der Tür. Meinen Vorschlag packe ich hier einfach mal dran. Ich kann gerne beim Artikel helfen, alles ist mir aber aktuell etwas zu groß. Es muss auf jeden Fall noch das Signal&Slot-Konzept rein, so wie eine Beschreibung von QML und der JavaScript-Bezug. Falls Programmierbeispiele rein sollen, wie im Original-Artikel, dann wären das drei. Python, C++, QML. Empfinde ich als zu viel für eine kurze Beschreibung.


Qt 🇬🇧 ist ein Framework zur plattformunabhängigen Erstellung von Software, die sich hauptsächlich auf die Sprachen C++, Python und QML konzentriert, aber Anbindungen für andere Sprachen wie go und R bietet. KDE-Software, inklusive des Plasma-Desktops verwenden seit jeher Qt als Basis und die KDE-Community trägt aktiv zur Entwicklung von Qt bei. Andere bekannte Programme sind bspw. der LxQt-Desktop von Lubuntu, der Nextcloud-Klient:, VirtualBox, oder der für ubuntuusers.de entwickelte Editor InyokaEdit. Ubuntu Touch nutzt ebenfalls Qt.
Damit eine parallele, kommerzielle Verwendung ermöglicht wird, gibt es derzeit fünf Lizenzmodelle 🇬🇧.

Den größten Bekanntheitsgrad hat Qt als Bibliothek zur Erstellung von grafischen Benutzeroberflächen, jedoch bringt Qt eine Vielzahl weiterer Module mit sich, die die Programmierung vereinfachen, wie bspw. Netzwerkprogrammierung, Datenbankabstraktion, XML, OpenGL, uvm. Mit Hilfe von Qt ist die Erstellung plattformübergreifender Anwendungen möglich. Neben den Unix-Derivaten mit XServer oder Wayland als Darstellungsserver werden u.a. Microsoft Windows®, Apples Mac OS® und googles Android® unterstützt. Dabei ist hervorzuheben, dass Qt für jede Plattform das gewohnte native Look_and_Feel mitbringt. Eine Übersicht der unterstützten Plattformen findet sich unter Supported Platforms, Targets and Languages 🇬🇧

Installation

Das grundlegende Paket bringt die nötigen, minimalen Konfigurationen und Bibliotheken mit, muss aber im Normalfall durch weitere Pakete ergänzt werden. Qt ist sehr gut dokumentiert. Die Dokumentation ist online verfügbar, kann aber auch mit Hilfe des Paketes qt5-doc offline verfügbar gemacht werden, was sich vor allem bei der Verwendung einer Entwicklungsumgebung lohnt. Ebenfalls stehen viele Beispiele zur Verfügung, die über zusätzliche Pakete installiert werden können (Zur Suche kann man apt search qt5 demo oder apt search qt5 example verwenden).

  • qt5-default (universe/libs)

  • qt5-qmake (universe/libs (optional))

  • qtbase5-dev-tools (universe/libs (optional))

  • qt5-doc (universe/doc (optional))

Befehl zum Installieren der Pakete:

sudo apt-get install qt5-default qt5-qmake qtbase5-dev-tools qt5-doc 

Benutzung

Die Wahl des Editors ist natürlich frei, es steht aber mit dem QtCreator eine ausgereifte Entwicklungsumgebung zur Verfügung, die sowohl Möglichkeiten zum Debugging, zur Analyse, Übersetzung und einen grafischen Editor mitbringt, als auch die Möglichkeit bietet in virtuellen Maschinen oder direkt auf einem Zielgerät zu testen oder zu installieren. Daneben stehen dem Entwickler viele Beispiele zur Verfügung.

KDevelop 🇬🇧 ist ebenfalls eine Entwicklungsumgebung für Qt, die spezialisiert auf Software von und für die KDE-Community ist, aber natürlich auch frei eingesetzt werden kann.

Als Build-Umgebung wird qmake oder cmake eingesetzt. In zukünftigen Versionen (ab dem Release von Qt6) wird auf cmake als Standard umgestellt.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

können wir meinetwegen machen.

Dann leg' doch eine Baustelle namens "Qt5" an. Wenn die fertig ist wandert der aktuellen Artikel ins Archiv und Qt wird ein Redirect auf Qt5.

Gruß, noisefloor

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

noisefloor schrieb:

Dann leg' doch eine Baustelle namens "Qt5" an. Wenn die fertig ist wandert der aktuellen Artikel ins Archiv und Qt wird ein Redirect auf Qt5.

Angelegt habe ich den Artikel. Sollte sich das Namensschema der Ubuntu-Pakete nicht seit 16.04/18.04 geändert haben, ist der Artikel für alle *buntus gültig, die qt5 in den Quellen haben. Ich habe die hiesige Diskussion verknüpft, wenn das ok ist.

Falls sich jemand berufen fühlt, ein paar Details beizusteuern, so tobe er sich aus. Qt hat so viele Möglichkeiten und Konzepte, dass ich gar nicht weiß, was erwähnt werden muss. Qt4 war deutlich einfacher 😉 Baustelle ist noch offen, Vorschläge sind sehr willkommen.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Qt hat so viele Möglichkeiten und Konzepte, dass ich gar nicht weiß, was erwähnt werden muss.

IMHO reicht:

  • ausführliche Einleitung

  • Paketinstallatioon

  • Minibeispiel Qt App

  • Minibeispiel QML / QtQuick

  • Links

Hier ist ja kein Programmierforum und wer Qt nutzen will, der kommt so oder so nicht um das Lesen der Qt-Doku umhin.

Gruß, noisefloor

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

noisefloor schrieb:

  • ausführliche Einleitung ✓

  • Paketinstallatioon ✓

  • Minibeispiel Qt App

  • Minibeispiel QML / QtQuick

  • Links ✓

So würde ich das sehen. Bei den Minibeispielen: Mit grafischer Oberfläche oder Terminal für eine Qt-App (je PyQt und C++)? Bei QtQuick gibt es ein einfaches Minimalbeispiel, allerdings kann ich dir schon sagen, dass der Artikel mit 3 Beispielen wohl recht groß wird. QtQuick würde ich auch auf eine Version beschränken und das QML mit einkompilieren, sprich mit dem Resource-File. PyQt muss ich mir noch angucken, ich habe damit noch nichts gemacht, sollte aber einfach sein.

Shakesbier

Avatar von Shakesbier

Anmeldungsdatum:
14. Juli 2008

Beiträge: 1170

Hallo ChickenLipsRfun2eat

C++ Beispiel für Qt5 habe ich beigesteuert. Bis auf die *.pro-Datei ist es identisch zum Beispiel aus dem alten Artikel. Um den Artikel pflegeleicht zu halten, würde ich persönlich auf Python und QML Beispiele verzichten.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Um den Artikel pflegeleicht zu halten, würde ich persönlich auf Python und QML Beispiele verzichten.

Python auf jeden Fall, weil Qt nun mal auch in 1. Instanz C++ ist. Was man halt erwähnen kann ist, dass es für viele Sprache Bindings für Qt gibt. Da kann man ja die offiziellen wie die für Python explizit erwähnen, das reicht.

QML sollte zumindest explizit erwähnt werden, weil man damit ja nun mal die GUI "bauen" kann.

Gruß, noisefloor

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

habe ein paar Änderungen gemacht. Was IMHO auf jeden Fall noch fehlt ist eine sehr kurze Erklärung, wozu die .pro Datei gut ist. Das erschließt sich beim Lesen so überhaupt nicht.

Die Hinweisbox im Abschnitt "Installation" finde ich zu unspezifisch, weil man nach dem Lesen her verwirrt als schlauer ist. Wenn was essentielles fehlt, sollte das erwähnt werden. Wenn einfach nur gesagt werden soll, dass es noch einen Haufen weiterer qt5-* Pakete gibt, dann sollte das anders ausgedrückt werden.

Gruß, noisefloor

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Shakesbier schrieb:

C++ Beispiel für Qt5 habe ich beigesteuert…

Danke! Ich habe auch schon was kleines vorbereitet, was Signale und Slots beinhaltet. Werde mich morgen darum kümmern, eventuell auch in einem separaten Artikel.

noisefloor 9208776 / 9208766 schrieb:

habe ein paar Änderungen gemacht. Was IMHO auf jeden Fall noch fehlt ist eine sehr kurze Erklärung, wozu die .pro Datei gut ist. Das erschließt sich beim Lesen so überhaupt nicht.

Also ein Abschnitt für qmake? Okay.

Die Hinweisbox im Abschnitt "Installation" finde ich zu unspezifisch…

Naja, Ubuntu und Xubuntu kommen ganz ohne Qt-Pakete, die anderen Derivate bringen eine für die Oberfläche angepasste Auswahl. Die Hinweisbox kann aber auch ganz raus, wenn sie zu verwirrend ist. Wenn jemand bspw. Mate und Ubuntu verwendet, merkt er schon, dass sein Programm nur unter einer Oberfläche läuft, weil irgend ein Paket fehlt…

Python auf jeden Fall, weil Qt nun mal auch in 1. Instanz C++ ist.

Das gilt so nicht mehr bei Qt5. Man kann nur mit Python oder auch nur mit QML arbeiten, wenn man das möchte. Gerade letzteres ist oftmals sogar einfacher für kleinere Projekte, da bspw. SQLite direkt verwendbar ist, etc. — findet man oft bei den Mobile-Apps oder unter Plasma.
Die verschiedenen Anbindungen sind ja in der Einleitung auch schon erwähnt, es geht ja wenn um die Beispiele.

QML sollte zumindest explizit erwähnt werden, weil man damit ja nun mal die GUI "bauen" kann.

Kann man in Qt auch in reinem C++ oder Python. Es ist nur eine weitere Option. Dazu gibt es ja noch den „alten Weg“ über die ui-files(xml), die mit dem QtDesigner entwickelt werden können.

Zu den Änderungen:

Qt ist in C++ und geschrieben, die Anbindung an Python wird auch von den Qt-Entwicklern direkt unterstützt

Den Satz verstehe ich nicht, auch nicht wenn ich das „und“ weglasse. Also Qt ist (zum Großteil) in CPP und C geschrieben, die PyQt5-Anbindung in CPP und PY. Qt verwenden kann ich mit C,CPP,Python und QML/JS, ohne Community-Projekte anzubinden.