Qt-5-Beta: Difference between revisions
No edit summary |
(Move to Qt5 sub-category) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category: | {{Cleanup | reason=Auto-imported from ExpressionEngine.}} | ||
[[Category: | [[Category:Developing Qt::Qt5]] | ||
[[Category:Developing with Qt::Qt 5]] | |||
= Qt 5 Beta = | = Qt 5 Beta = | ||
Line 10: | Line 11: | ||
The goal is to have a final release before year end. Current focus areas include testing of the revamped Qt Quick and Qt WebKit, Qt Widget application API compatibility between Qt 4 and Qt 5, and the stability and good performance on MS Windows and Mac OS X. | The goal is to have a final release before year end. Current focus areas include testing of the revamped Qt Quick and Qt WebKit, Qt Widget application API compatibility between Qt 4 and Qt 5, and the stability and good performance on MS Windows and Mac OS X. | ||
[http://releases.qt.io/qt5.0/beta1/ '''Download'''] | |||
== The Aim == | == The Aim == | ||
Line 30: | Line 31: | ||
Since Qt 4 there have been numerous changes to Qt. Here's a good overview of what's new in Qt 5. | Since Qt 4 there have been numerous changes to Qt. Here's a good overview of what's new in Qt 5. | ||
The full list of features can be found at | The full list of features can be found at [http://wiki.qt.io/Qt-5Features Qt 5 Features]. Deeper details are available in the [http://qt.gitorious.org/qt/qtbase/blobs/master/dist/changes-5.0.0 change notes]. | ||
=== Qt Quick 2 === | === Qt Quick 2 === | ||
* Qt Quick is now an | * Qt Quick is now an [http://wiki.qt.io/Qt-Essentials-Modules Essential module] containing the OpenGL based Scenegraph and all the usual items | ||
* New support for OpenGL based shader effects and particles | * New support for OpenGL based shader effects and particles | ||
* QML and JavaScript support have moved to their own | * QML and JavaScript support have moved to their own [http://wiki.qt.io/Qt-Essentials-Modules Essential module] | ||
* Qt Quick as in Qt 4.x is available in a fully compatible Qt Quick 1 add-on module | * Qt Quick as in Qt 4.x is available in a fully compatible Qt Quick 1 add-on module | ||
Line 89: | Line 90: | ||
== Showcase == | == Showcase == | ||
http://img.youtube.com/vi/P4kv-AoAJ-Q/3.jpg | |||
[http://www.youtube.com/watch?v=P4kv-AoAJ-Q Livecoding video effects with Qt 5] | |||
Shows Big Buck Bunny as you never saw it before. Qt effects created with QML. | Shows Big Buck Bunny as you never saw it before. Qt effects created with QML. | ||
http://img.youtube.com/vi/SMRln8FJvKc/2.jpg | |||
[http://labs.qt.nokia.com/2012/02/29/pimp-my-video-shader-effects-and-multimedia/ Pimp my video: shader effects and multimedia] / [http://www.youtube.com/watch?v=SMRln8FJvKc Video] | |||
See the potential of Qt 5 video effects in interesting blog post with impressive video. | See the potential of Qt 5 video effects in interesting blog post with impressive video. | ||
http://img.youtube.com/vi/u94vwMXJJrs/1.jpg | |||
[http://wiki.qt.io/QtMediaHub Qt MediaHub] / [http://www.youtube.com/watch?v=u94vwMXJJrs Video] | |||
A showcase of the power and convenience of Qt Quick. Functional and open source demo for you to learn best practices when using Qt / QML. | A showcase of the power and convenience of Qt Quick. Functional and open source demo for you to learn best practices when using Qt / QML. | ||
http://img.youtube.com/vi/1189Pj1mkDk/2.jpg | |||
[http://wiki.qt.io/Qt-RaspberryPi QtonPi] / [http://www.youtube.com/watch?v=1189Pj1mkDk Video] | |||
Qt 5 on the Raspberry Pi board. Cutting edge project building a minimal OS and an App SDK. | Qt 5 on the Raspberry Pi board. Cutting edge project building a minimal OS and an App SDK. | ||
== Known issues == | == Known issues == | ||
See the | See the [http://wiki.qt.io/Qt500beta1KnownIssues Known Issues page] | ||
== The Qt 5 Beta release includes the following modules: == | == The Qt 5 Beta release includes the following modules: == | ||
* | * [http://wiki.qt.io/Qt-Essentials-Modules Essentials] : Qt Core, Qt GUI, Qt Multimedia, Qt Network, Qt Qml, Qt Quick, Qt SQL, Qt Test and Qt WebKit. | ||
* | * [http://wiki.qt.io/Qt-Add-ons-Modules Add-ons] : Qt 3D, Qt D-Bus, Qt JS Backend, Qt Graphical Effects, Qt Image Formats, Qt Location, Qt OpenGL, Qt Print Support, Qt Publish and Subscribe, Qt Quick 1, Qt Script, Qt Script Tools, Qt Service Framework, Qt SVG, Qt System Info, Qt Tools, Qt Wayland, Qt WebKit Widgets, Qt Widgets, Qt XML and Qt XML Patterns. | ||
Future releases might include more modules. See the full lists of modules available at | Future releases might include more modules. See the full lists of modules available at [http://wiki.qt.io/Qt-Essentials-Modules Qt Essentials Modules] and [http://wiki.qt.io/Qt-Add-ons-Modules Qt Add-ons Modules] . | ||
== New since Qt 5 alpha == | == New since Qt 5 alpha == | ||
Line 147: | Line 156: | ||
This release includes both source packages and binaries for Mac OS X, Windows and Ubuntu Linux. Developers who want to build their own binaries – see the README in the source package. | This release includes both source packages and binaries for Mac OS X, Windows and Ubuntu Linux. Developers who want to build their own binaries – see the README in the source package. | ||
You might find it useful to check | You might find it useful to check [http://wiki.qt.io/Qt-5-unofficial-builds unofficial binaries] published by the community. | ||
See also | See also [http://wiki.qt.io/Building_Qt_5_from_Git Building Qt 5 from Git] . | ||
== Feedback == | == Feedback == | ||
[https://bugreports.qt.io/ The Qt project bug tracker] is the preferred channel for reporting issues. | |||
Check also the Qt 5 Beta | Check also the Qt 5 Beta [http://labs.qt.nokia.com/2012/08/30/qt-5-beta-is-here/ announcement blog post] at Qt Labs | ||
Developers using Qt are encouraged to join the | Developers using Qt are encouraged to join the [http://lists.qt-project.org/mailman/listinfo/interest Interest] mailing list to share impressions and seek community help. | ||
== Documentation & | == Documentation & Guides == | ||
=== Documentation === | === Documentation === | ||
* API documentation for the beta is available in the | * API documentation for the beta is available in the [http://doc.qt.io/qt-5/index.html Qt 5.4 documentation]. | ||
* Wiki for | * Wiki for [http://wiki.qt.io/Building_Qt_5_Documentation building documentation] | ||
=== Developer Guides & | === Developer Guides & Tutorials === | ||
'''Introduction to Application Development with Qt Quick''' | '''Introduction to Application Development with Qt Quick''' | ||
* | * [http://wiki.qt.io/Developer-Guides#f063af52523a06c5a07f691d6fa09563 Qt Quick Painting using Canvas Item] | ||
* [http://wiki.qt.io/Developer-Guides#59030d7b7554f52d3865f65a84f371a9 Particles and Graphics Effects in Qt Quick 2] | |||
* [http://wiki.qt.io/Developer-Guides#a02113b7528cad11b5c60c3a99b4b843 Developing an arcade game with Qt3D] | |||
* [http://wiki.qt.io/Developer-Guides#28810c65dd0f273a567b83a48839d275 Qt OpenGL Tutorial] | |||
* [http://wiki.qt.io/Developer-Guides#65099ceac9c19e34e56a688784a0d866 Qt Quick Application Developer Guide for Desktop] | |||
'''Porting existing code''' | '''Porting existing code''' |
Latest revision as of 12:29, 25 July 2018
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine. Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean. |
Qt 5 Beta
August 30th, 2012 - The Qt Project has released Qt 5.0 Beta and is calling platform developers, OS integrators and advanced Qt application developers to test and send us feedback. Qt 5 Beta is based upon the work from a core of approx. 250 developers.
Binaries are available for installation on the reference platforms: Linux (X11 and Wayland), MS Windows and Mac OS X. Unofficial Qt 5 packages are also available for other platforms like QNX, QtonPi and the main Linux distributions (Ubuntu, Debian, Fedora).
The goal is to have a final release before year end. Current focus areas include testing of the revamped Qt Quick and Qt WebKit, Qt Widget application API compatibility between Qt 4 and Qt 5, and the stability and good performance on MS Windows and Mac OS X.
The Aim
The Qt project aims to make developers' life easier by enabling faster creation of great Qt apps and UIs on one or multiple targets. With Qt 5 we aim to make Qt better for addressing the latest UI paradigm shifts that i.e. touch screens and tablets require.
Amazing graphic capabilities and performance — Special focus on low cost hardware environments like mobile and embedded devices. Qt now requires OpenGL ES, offering impressive graphics features and performance for animated 2D and 3D objects and interfaces.
Developer productivity and flexibility — Make JavaScript and QML first class citizens with C++ and Qt Widget support remaining. New Qt JS backend powered by V8 and Qt WebKit 2 for HTML5 developers.
Cross-platform portability — Create new targets /OS development more easily due to the new Essentials and Add-ons module structure, plus consolidation of Qt Platform Abstraction (QPA).
Open development and open governance — Faster development and broader testing of Qt 5 is assured by the active participation of a growing community including developers from Nokia, the KDE project, Intel, KDAB, Digia and many more companies and individuals.
Keep as much compatibility with Qt 4 as possible — Porting from Qt 4 to Qt 5 is very easy. QWidget and related classes are fully supported for the desktop platforms.
What’s new
Since Qt 4 there have been numerous changes to Qt. Here's a good overview of what's new in Qt 5.
The full list of features can be found at Qt 5 Features. Deeper details are available in the change notes.
Qt Quick 2
- Qt Quick is now an Essential module containing the OpenGL based Scenegraph and all the usual items
- New support for OpenGL based shader effects and particles
- QML and JavaScript support have moved to their own Essential module
- Qt Quick as in Qt 4.x is available in a fully compatible Qt Quick 1 add-on module
Qt Qml
- New module containing the QML engine and support for Javascript
- Performance improvements and some enhancements to the language
- Source compatible — note though that when writing QML items in C++ some changes are needed to adjust to the new scene graph
- Uses the V8 JavaScript engine behind the scenes with improved performance
- New classes QJSEngine and QJSValue
Qt WebKit
- The WebKit module in the beta provides the same API as in Qt 4.x, but comes with performance improvements and new web-facing features
- In the release following the beta we plan to rename the WebKit module into Qt WebKit Widgets, providing the same C++ API as in Qt 4
- In addition we will introduce a new QML component that is based on the WebKit2 technology
Qt Core
- QStandardPaths class giving standard locations for files
- JSON parser and speed optimized binary format for JSON
- MIME type recognition
- New compile-time check of signal/slot connection syntax
- New Perl-compatible regular expression engine
- Many data structures have been rewritten and optimized for better performance
- C+11 support where it makes sense (but Qt continues to compile and work with C+98 compilers)
Qt Gui
- Support for top-level surfaces through the QWindow class
- Built-in OpenGL support
Qt Network
- Support for DNS lookups
- QHttp and QFtp classes removed (they are available stand-alone)
Qt Widgets
- All former QWidget based classes in Qt Gui have been separated out into the new Qt Widgets library
- Ported over to the new Qt Platform Abstraction architecture
- Works as in Qt 4.x
Qt 3D
- This is now an add-on module to Qt 5
Qt Location
- Maps and geolocation-related classes, formerly part of Qt Mobility, an add-on to Qt 5
Showcase
Livecoding video effects with Qt 5
Shows Big Buck Bunny as you never saw it before. Qt effects created with QML.
Pimp my video: shader effects and multimedia / Video
See the potential of Qt 5 video effects in interesting blog post with impressive video.
A showcase of the power and convenience of Qt Quick. Functional and open source demo for you to learn best practices when using Qt / QML.
Qt 5 on the Raspberry Pi board. Cutting edge project building a minimal OS and an App SDK.
Known issues
See the Known Issues page
The Qt 5 Beta release includes the following modules:
- Essentials : Qt Core, Qt GUI, Qt Multimedia, Qt Network, Qt Qml, Qt Quick, Qt SQL, Qt Test and Qt WebKit.
- Add-ons : Qt 3D, Qt D-Bus, Qt JS Backend, Qt Graphical Effects, Qt Image Formats, Qt Location, Qt OpenGL, Qt Print Support, Qt Publish and Subscribe, Qt Quick 1, Qt Script, Qt Script Tools, Qt Service Framework, Qt SVG, Qt System Info, Qt Tools, Qt Wayland, Qt WebKit Widgets, Qt Widgets, Qt XML and Qt XML Patterns.
Future releases might include more modules. See the full lists of modules available at Qt Essentials Modules and Qt Add-ons Modules .
New since Qt 5 alpha
Since Alpha the focus has been bug fixing and stabilization:
- Continued work on reference platform stability. Qt Creator compiles and runs well on Qt 5
- Qt WebKit is now available on MS Windows
- Cleanups of a few new APIs
- Qt now expects source code to be encoded in UTF-8
- New QUrl implementation merged
- Unified data structure behind QVector, QString and QByteArray
- New metaobject revision, better API for QmetaObject with access to QObject's meta data
- Upgrade to Unicode 6.1
- New plugin system for Qt 5 apps.
- Qt Print Support module refactoring and cleanups
- C++11 support enabled by default on compilers supporting it
- Exceptions disabled on Qt modules that don't require them for space/size savings
- QHash hash key randomization for security
- QIcon moved back to QtGui
- Modularizing of documentation started
- QNX support improvements
- Preliminary ANGLE support on MS Windows offering better OpenGL support
- Qt Qml and Qt Quick have seen a huge amount of bug fixes, memory usage improvements and optimizations.
Most other modules got minor improvements and bug fixes.
Note: Qt Base is the only module that has accepted significant changes that didn't make it to the Alpha release
Installation
This release includes both source packages and binaries for Mac OS X, Windows and Ubuntu Linux. Developers who want to build their own binaries – see the README in the source package.
You might find it useful to check unofficial binaries published by the community.
See also Building Qt 5 from Git .
Feedback
The Qt project bug tracker is the preferred channel for reporting issues.
Check also the Qt 5 Beta announcement blog post at Qt Labs
Developers using Qt are encouraged to join the Interest mailing list to share impressions and seek community help.
Documentation & Guides
Documentation
- API documentation for the beta is available in the Qt 5.4 documentation.
- Wiki for building documentation
Developer Guides & Tutorials
Introduction to Application Development with Qt Quick
- Qt Quick Painting using Canvas Item
- Particles and Graphics Effects in Qt Quick 2
- Developing an arcade game with Qt3D
- Qt OpenGL Tutorial
- Qt Quick Application Developer Guide for Desktop
Porting existing code