Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

About Qt/de: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(translation continued)
 
m (translation continued)
 
Line 3: Line 3:
==Was ist Qt?==
==Was ist Qt?==


Qt ist ein Framework, dass die plattformunabhängige Entwicklung für Desktop-, Embedded- und Mobilanwendungen unterstützt. [[Unterstützte Plattformen]] sind Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS und weitere.  
Qt ist ein Framework, dass die plattformunabhängige Entwicklung für Desktop-, Embedded- und Mobilanwendungen unterstützt. [[Supported Platforms | Unterstützte Plattformen]] sind Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS und weitere.  


Qt ist ''keine'' eigenständige Programmiersprache. Es ist ein in C++ geschriebenes Framework. Ein Präprozessor, der [http://doc.qt.io/qt-5/moc.html MOC (Meta-Object Compiler)], wird eingesetzt, um die Programmiersprache C++ um Features wie z.B. [http://doc.qt.io/qt-5/signalsandslots.html Signals und Slots] zu erweitern. Vor der Kompilierung parst der MOC die Quelldateien, die in C++ mit Qt-Erweiterungen geschrieben sind, und generiert aus ihnen C++-Standard-konforme Quelldateien. Deshalb kann das Framework selbst und Anwendungen bzw. Bibliotheken, die es benutzen, von jedem C++-Standard-konformen Compiler wie Clang, GCC, ICC, MinGW und MSVC kompiliert werden.  
Qt ist ''keine'' eigenständige Programmiersprache. Es ist ein in C++ geschriebenes Framework. Ein Präprozessor, der [http://doc.qt.io/qt-5/moc.html MOC (Meta-Object Compiler)], wird eingesetzt, um die Programmiersprache C++ um Features wie z.B. [http://doc.qt.io/qt-5/signalsandslots.html Signals und Slots] zu erweitern. Vor der Kompilierung parst der MOC die Quelldateien, die in C++ mit Qt-Erweiterungen geschrieben sind, und generiert aus ihnen C++-Standard-konforme Quelldateien. Deshalb kann das Framework selbst und Anwendungen bzw. Bibliotheken, die es benutzen, von jedem C++-Standard-konformen Compiler wie Clang, GCC, ICC, MinGW und MSVC kompiliert werden.  
Line 20: Line 20:
Es ist ein plattformunabhängiges Frontend für plattform-native Build-System wie [http://www.gnu.org/software/make/ GNU Make], [http://visualstudio.com/ Visual Studio] und [https://developer.apple.com/xcode/ Xcode].
Es ist ein plattformunabhängiges Frontend für plattform-native Build-System wie [http://www.gnu.org/software/make/ GNU Make], [http://visualstudio.com/ Visual Studio] und [https://developer.apple.com/xcode/ Xcode].


[http://www.cmake.org CMake] ist ebenfalls eine beliebte Alternative um Qt-Projekte zu bauen; Support dafür ist in Qt4 seit Jahren integriert.
[http://www.cmake.org CMake] ist ebenfalls eine beliebte Alternative um Qt-Projekte zu bauen; Support dafür ist in Qt4 seit Jahren integriert und Qt5 bot bereits früh Support dafür an.  
[http://www.cmake.org CMake] is also a popular alternative to build Qt projects, Qt 4 support has been integrated years ago and Qt 5 provided support early.


A new player entered the game recently: [http://doc.qt.io/qbs/ The Qt Build Suite] a.k.a Qbs. Qbs is a [[QML]] based build system which also provides support for Javascript. This build system not only provides building capability but also packaging like cmake.
Seit kurzem gibt es einen neuen Mitspieler: [http://doc.qt.io/qbs/ die Qt Build-Suite] auch bekannt als Qbs. Qbs ist ein [[QML]]-basiertes Build-System, das ebenfalls Unterstützung für Javascript bietet. Dieses Build-System bietet nicht nur die Möglichkeit Projekte zu bauen, sondern auch wie cmake die Fähigkeit Packages zu erstellen.


==IDE==
==Integrierte Entwicklungsumgebung (IDE)==
Qt comes with its own [http://en.wikipedia.org/wiki/Integrated_development_environment Integrated Development Environment (IDE)], named [[Qt Creator]]. It runs on Linux, OS X and Windows and offers [http://en.wikipedia.org/wiki/Intelligent_code_completion intelligent code completion], [http://en.wikipedia.org/wiki/Syntax_highlighting syntax highlighting], an integrated help system, [http://en.wikipedia.org/wiki/Debugger debugger] and [http://en.wikipedia.org/wiki/Profiling_(computer_programming) profiler] integration and also integration for [http://doc.qt.io/qtcreator/creator-version-control.html all major version control systems] (e.g. git, Bazaar). In addition to Qt Creator developers on Windows can also use Qt's [[Visual Studio Add-in]]. Other IDEs (e.g. [https://www.kdevelop.org/ KDevelop] on [http://kde.org KDE]) can also be used. But of course it is in no way mandatory to use any IDE at all.  
Qt bringt seine eigene [http://en.wikipedia.org/wiki/Integrated_development_environment Integrierte Entwicklungsumgebung] (englisch: Integrated Development Environment, kurz: IDE) mit: der [[Qt Creator]].  
Er läuft auf Linux, OS X und Windows und bietet [http://en.wikipedia.org/wiki/Intelligent_code_completion intelligente Code-Vervollständigung], [http://en.wikipedia.org/wiki/Syntax_highlighting Syntax-Highlighting], ein integriertes Hilfesystem, [http://en.wikipedia.org/wiki/Debugger Debugger-] und [http://en.wikipedia.org/wiki/Profiling_(computer_programming) Profiler-] Integration und außerdem Integration für [http://doc.qt.io/qtcreator/creator-version-control.html alle gängigen Versionskontrollsysteme] (z.B. git, Bazaar). Zusätzlich zum Qt Creator können Entwickler unter Windows ebenfalls Qts [[Visual Studio Add-in]] nutzen. Andere IDEs (z.B. [https://www.kdevelop.org/ KDevelop] unter [http://kde.org KDE]) können auch genutzt werden. Aber natürlich besteht keine Pflicht überhaupt eine IDE einzusetzen.


==Internationalization and Localization==
==Internationalisierung und Lokalisierung (Sprachen)==
Qt features excellent support for internationalization (i18n) and localization (l10n). The tool [http://doc.qt.io/qt-5/qtlinguist-index.html Qt Linguist] and its companions [[lupdate]], [[lrelease]] and [[lconvert]] make it easy to translate applications to locale languages. Qt supports most languages and writing systems that are in use today. For a complete listing see the corresponding [http://doc.qt.io/qt-5/internationalization.html manual pages].  
Qt bringt hervorragende Unterstützung für die Internationalisierung (englisch: internationalization, kurz: i18n) mit. Das Tool [http://doc.qt.io/qt-5/qtlinguist-index.html Qt Linguist] und seine Begleiter [https://doc.qt.io/qt-5/linguist-manager.html lupdate], [https://doc.qt.io/qt-5/linguist-manager.html lrelease] und [https://doc.qt.io/qt-5/linguist-programmers.html lconvert] machen es einfach Anwendungen in die lokalen Sprachen zu übersetzen. Qt unterstützt die meisten Sprachen und Schriftsysteme, die heutzutage genutzt werden. Eine vollständige Auflistung ist auf den entsprechenden [http://doc.qt.io/qt-5/internationalization.html Hilfeseiten] zu finden.  


==Widgets==
==Widgets==
With Qt, GUIs can be written directly in C++ using its [[Widgets]] module. Qt also comes with an interactive graphical tool called [http://doc.qt.io/qt-5/qtdesigner-manual.html Qt Designer] which functions as a code generator for Widgets based GUIs. Qt Designer can be used stand-alone but is also integrated into Qt Creator.
Graphische Benutzeroberflächen (englisch: graphical user interface, kurz: GUI) können mit Qt direkt in C++ durch die Nutzung seines [[Widgets]]-Moduls geschrieben werden. Außerdem bringt Qt auch ein interaktives graphisches Tool namens [http://doc.qt.io/qt-5/qtdesigner-manual.html Qt Designer] mit, das ein Code-Generator für Widget-basierte GUIs ist. Qt Designer kann unabhängig genutzt werden, ist aber auch in den Qt Creator integriert.


==QtQuick==
==QtQuick==
Another way to write GUIs with Qt is to use the [[QtQuick]] module. GUIs using QtQuick are written in [[QML]]. QML is a declarative object description language that integrates [[Javascript]] for procedural programming. QtQuick provides the necessary modules for GUI development with QML. It is possible to write whole applications in QML only, but usually only the GUI is written in QML and the application's backend is implemented in C++ (see [http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html Integrating QML and C++]). Also Qt Creator features an integrated QtQuick GUI designer and profiler.
Ein anderer Weg um GUIs mit Qt zu schreiben ist, das [[QtQuick]]-Modul zu nutzen. GUIs, die QtQuick nutzen, sind in [[QML]] geschrieben. QML ist eine deklarative Objektbeschreibungssprache, die [[Javascript]] für die  prozedurale Programmierung integriert. QtQuick bietet die notwendigen Module für die GUI-Entwicklung mit QML. Es ist möglich ganze Programme nur in QML zu schreiben, jedoch meistens ist nur die GUI in QML geschrieben und das Programm-Backend ist programmiert in C++ (siehe [http://doc.qt.io/qt-5/qtqml-cppintegration-topic.html Integrating QML and C++]). Der Qt Creator bietet auch einen integrierten QtQuick-GUI-Designer und -Profiler.  


==More Modules==
==Weitere Module==
Qt is far more than a GUI toolkit. It provides modules for cross-platform development in the areas of networking, databases, OpenGL, web technologies, sensors, communications protocols (Bluetooth, serial ports, NFC), XML and JSON processing, printing, PDF generation, and much more.
Qt ist weitaus mehr als ein GUI-Toolkit. Es stellt Module bereit für die plattformunabhängige Entwicklung in den Bereichen Netzwerk, Datenbanken, OpenGL, Web-Technologien, Sensoren, Kommunikationsprotokolle (Bluetooth, serielle Ports, NFC), XML- und JSON-Verarbeitung, Drucken, PDF-Generierung und vieles mehr.


For a full list of official Qt modules, see the [https://doc.qt.io/qt-5/qtmodules.html All Modules] page in the Qt documentation.
Eine vollständige Liste der offiziellen Qt-Module ist auf der Seite mit [https://doc.qt.io/qt-5/qtmodules.html allen Modulen] in der Qt-Dokumentation zu finden.


Also, see [http://inqlude.org Inqlude.org] for a list of 3rd-party modules based on Qt, for use in Qt projects.
Auf der Seite [http://inqlude.org Inqlude.org] ist außerdem eine Liste von 3rd-Party-Modulen basierend auf Qt zu finden, die in Qt-Projekten genutzt werden können.


==Language Bindings==
==Language Bindings (Sprachanbindungen)==
Although applications using Qt are usually written in C++ and QML bindings to other languages exist. These are not part of Qt but are provided by various third parties. [http://www.riverbankcomputing.co.uk Riverbank Computing] for example provides commercial and free software [http://www.riverbankcomputing.co.uk/software/pyqt/intro Python bindings (PyQt)]. For more language bindings see [[:Category:LanguageBindings]].
Obwohl Programme, die Qt nutzen meist in C++ und QML geschrieben sind, gibt es Anbindungen an andere Programmiersprachen. Diese sind nicht Teil von Qt aber werden von unterschiedlichen 3rd Parties zur Verfügung gestellt. [http://www.riverbankcomputing.co.uk Riverbank Computing] bietet beispielsweise als kommerzielle und freie Software [http://www.riverbankcomputing.co.uk/software/pyqt/intro eine Python-Anbindung (PyQt)]. Weitere Sprachanbindungen sind unter [[:Category:LanguageBindings]] zu finden.

Latest revision as of 23:15, 30 April 2020

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Was ist Qt?

Qt ist ein Framework, dass die plattformunabhängige Entwicklung für Desktop-, Embedded- und Mobilanwendungen unterstützt. Unterstützte Plattformen sind Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS und weitere.

Qt ist keine eigenständige Programmiersprache. Es ist ein in C++ geschriebenes Framework. Ein Präprozessor, der MOC (Meta-Object Compiler), wird eingesetzt, um die Programmiersprache C++ um Features wie z.B. Signals und Slots zu erweitern. Vor der Kompilierung parst der MOC die Quelldateien, die in C++ mit Qt-Erweiterungen geschrieben sind, und generiert aus ihnen C++-Standard-konforme Quelldateien. Deshalb kann das Framework selbst und Anwendungen bzw. Bibliotheken, die es benutzen, von jedem C++-Standard-konformen Compiler wie Clang, GCC, ICC, MinGW und MSVC kompiliert werden.

Die Qt Company und das Qt-Projekt

Die Entwicklung von Qt begann 1990 durch die norwegischen Programmierer Eirik Chambe-Eng und Haavard Nord. Ihre Firma, Trolltech, die Qt-Lizenzen vertrieb und Support anbot, durchlief mehrere Übernahmen im Laufe der Jahre. Ehemals Trolltech heißt nun die Qt Company und ist eine hundertprozentige Tochtergesellschaft von Digia Plc., Finnland. Obwohl die Qt Company der Haupttreiber hinter Qt ist, wird Qt nun von einer größeren Allianz entwickelt: dem Qt-Projekt. Es besteht aus vielen Firmen und Einzelpersonen rund um den Globus und folgt einem leistungsorientierten Kontrollsystem.

Jeder, der möchte, egal ob Einzelpersonen oder Firmen, kann sich hier anschließen. Es gibt viele Möglichkeiten zum Qt-Projekt beizutragen, z.B. indem man Code oder Dokumentation für das Framework schreibt, Fehler (Bugs) meldet, anderen Nutzern im Forum hilft oder die Seiten dieses Wikis pflegt (siehe auch http://qt.io/contribute/).

Lizenz

Qt is verfügbar unter verschiedenen Lizenzen: Die Qt Company verkauft kommerzielle Lizenzen, jedoch ist Qt auch als freie Software unter verschiedenen Versionen der GPL und der LGPL (Lizenz-FAQs) verfügbar.

Build-System

Obwohl jedes Build-System mit Qt genutzt werden kann, bringt Qt durch qmake sein eigenes Build-System mit. Es ist ein plattformunabhängiges Frontend für plattform-native Build-System wie GNU Make, Visual Studio und Xcode.

CMake ist ebenfalls eine beliebte Alternative um Qt-Projekte zu bauen; Support dafür ist in Qt4 seit Jahren integriert und Qt5 bot bereits früh Support dafür an.

Seit kurzem gibt es einen neuen Mitspieler: die Qt Build-Suite auch bekannt als Qbs. Qbs ist ein QML-basiertes Build-System, das ebenfalls Unterstützung für Javascript bietet. Dieses Build-System bietet nicht nur die Möglichkeit Projekte zu bauen, sondern auch wie cmake die Fähigkeit Packages zu erstellen.

Integrierte Entwicklungsumgebung (IDE)

Qt bringt seine eigene Integrierte Entwicklungsumgebung (englisch: Integrated Development Environment, kurz: IDE) mit: der Qt Creator. Er läuft auf Linux, OS X und Windows und bietet intelligente Code-Vervollständigung, Syntax-Highlighting, ein integriertes Hilfesystem, Debugger- und Profiler- Integration und außerdem Integration für alle gängigen Versionskontrollsysteme (z.B. git, Bazaar). Zusätzlich zum Qt Creator können Entwickler unter Windows ebenfalls Qts Visual Studio Add-in nutzen. Andere IDEs (z.B. KDevelop unter KDE) können auch genutzt werden. Aber natürlich besteht keine Pflicht überhaupt eine IDE einzusetzen.

Internationalisierung und Lokalisierung (Sprachen)

Qt bringt hervorragende Unterstützung für die Internationalisierung (englisch: internationalization, kurz: i18n) mit. Das Tool Qt Linguist und seine Begleiter lupdate, lrelease und lconvert machen es einfach Anwendungen in die lokalen Sprachen zu übersetzen. Qt unterstützt die meisten Sprachen und Schriftsysteme, die heutzutage genutzt werden. Eine vollständige Auflistung ist auf den entsprechenden Hilfeseiten zu finden.

Widgets

Graphische Benutzeroberflächen (englisch: graphical user interface, kurz: GUI) können mit Qt direkt in C++ durch die Nutzung seines Widgets-Moduls geschrieben werden. Außerdem bringt Qt auch ein interaktives graphisches Tool namens Qt Designer mit, das ein Code-Generator für Widget-basierte GUIs ist. Qt Designer kann unabhängig genutzt werden, ist aber auch in den Qt Creator integriert.

QtQuick

Ein anderer Weg um GUIs mit Qt zu schreiben ist, das QtQuick-Modul zu nutzen. GUIs, die QtQuick nutzen, sind in QML geschrieben. QML ist eine deklarative Objektbeschreibungssprache, die Javascript für die prozedurale Programmierung integriert. QtQuick bietet die notwendigen Module für die GUI-Entwicklung mit QML. Es ist möglich ganze Programme nur in QML zu schreiben, jedoch meistens ist nur die GUI in QML geschrieben und das Programm-Backend ist programmiert in C++ (siehe Integrating QML and C++). Der Qt Creator bietet auch einen integrierten QtQuick-GUI-Designer und -Profiler.

Weitere Module

Qt ist weitaus mehr als ein GUI-Toolkit. Es stellt Module bereit für die plattformunabhängige Entwicklung in den Bereichen Netzwerk, Datenbanken, OpenGL, Web-Technologien, Sensoren, Kommunikationsprotokolle (Bluetooth, serielle Ports, NFC), XML- und JSON-Verarbeitung, Drucken, PDF-Generierung und vieles mehr.

Eine vollständige Liste der offiziellen Qt-Module ist auf der Seite mit allen Modulen in der Qt-Dokumentation zu finden.

Auf der Seite Inqlude.org ist außerdem eine Liste von 3rd-Party-Modulen basierend auf Qt zu finden, die in Qt-Projekten genutzt werden können.

Language Bindings (Sprachanbindungen)

Obwohl Programme, die Qt nutzen meist in C++ und QML geschrieben sind, gibt es Anbindungen an andere Programmiersprachen. Diese sind nicht Teil von Qt aber werden von unterschiedlichen 3rd Parties zur Verfügung gestellt. Riverbank Computing bietet beispielsweise als kommerzielle und freie Software eine Python-Anbindung (PyQt). Weitere Sprachanbindungen sind unter Category:LanguageBindings zu finden.