Qt-5-Beta: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=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 <span class="caps">QNX</span>, 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 <span class="caps">API</span> 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'''] ''[releases.qt.io]''
==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 <span class="caps">QML</span> 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 (<span class="caps">QPA</span>).
''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 <span class="caps">KDE</span> project, Intel, <span class="caps">KDAB</span>, 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-5Features|Qt 5 Features]] ''[qt.io]''. Deeper details are available in the [http://qt.gitorious.org/qt/qtbase/blobs/master/dist/changes-5.0.0 change notes] ''[qt.gitorious.org]''.
===Qt Quick 2===
* Qt Quick is now an [[Qt-Essentials-Modules|Essential module]] ''[qt.io]'' containing the OpenGL based Scenegraph and all the usual items
* New support for OpenGL based shader effects and particles
* <span class="caps">QML</span> and JavaScript support have moved to their own [[Qt-Essentials-Modules|Essential module]] ''[qt.io]''
* 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 <span class="caps">QML</span> engine and support for Javascript
* Performance improvements and some enhancements to the language
* Source compatible — note though that when writing <span class="caps">QML</span> 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 <span class="caps">QJSE</span>ngine and <span class="caps">QJSV</span>alue
===Qt WebKit===
* The WebKit module in the beta provides the same <span class="caps">API</span> 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++ <span class="caps">API</span> as in Qt 4
* In addition we will introduce a new <span class="caps">QML</span> component that is based on the WebKit2 technology
===Qt Core===
* QStandardPaths class giving standard locations for files
* <span class="caps">JSON</span> parser and speed optimized binary format for <span class="caps">JSON</span>
* <span class="caps">MIME</span> 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 <span class="caps">DNS</span> 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==
[[Image:3.jpg]]<br />[http://www.youtube.com/watch?v=P4kv-AoAJ-Q Livecoding video effects with Qt 5] ''[youtube.com]''<br /> Shows Big Buck Bunny as you never saw it before. Qt effects created with <span class="caps">QML</span>.
[[Image:2.jpg]]<br />[http://labs.qt.nokia.com/2012/02/29/pimp-my-video-shader-effects-and-multimedia/ Pimp my video: shader effects and multimedia] ''[labs.qt.nokia.com]'' / [http://www.youtube.com/watch?v=SMRln8FJvKc Video] ''[youtube.com]''<br /> See the potential of Qt 5 video effects in interesting blog post with impressive video.
[[wiki/QtMediaHub|[[Image:1.jpg]]]]<br />[[QtMediaHub|Qt MediaHub]] ''[qt.io]'' / [http://www.youtube.com/watch?v=u94vwMXJJrs Video] ''[youtube.com]''<br /> A showcase of the power and convenience of Qt Quick. Functional and open source demo for you to learn best practices when using Qt / <span class="caps">QML</span>.
[[wiki/Qt-RaspberryPi|[[Image:2.jpg]]]]<br />[[Qt-RaspberryPi|QtonPi]] ''[qt.io]'' / [http://www.youtube.com/watch?v=1189Pj1mkDk Video] ''[youtube.com]''<br /> Qt 5 on the Raspberry Pi board. Cutting edge project building a minimal OS and an App <span class="caps">SDK</span>.
==Known issues==
See the [[Qt500beta1KnownIssues|Known Issues page]] ''[qt.io]''
==The Qt 5 Beta release includes the following modules:==
* [[Qt-Essentials-Modules|Essentials]] ''[qt.io]'' : Qt Core, Qt <span class="caps">GUI</span>, Qt Multimedia, Qt Network, Qt Qml, Qt Quick, Qt <span class="caps">SQL</span>, Qt Test and Qt WebKit.
* [[Qt-Add-ons-Modules|Add-ons]] ''[qt.io]'' : 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 <span class="caps">SVG</span>, Qt System Info, Qt Tools, Qt Wayland, Qt WebKit Widgets, Qt Widgets, Qt <span class="caps">XML</span> and Qt <span class="caps">XML</span> Patterns.
Future releases might include more modules. See the full lists of modules available at [[Qt-Essentials-Modules|Qt Essentials Modules]] ''[qt.io]'' and [[Qt-Add-ons-Modules|Qt Add-ons Modules]] ''[qt.io]'' .
==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 <span class="caps">API</span>s
* Qt now expects source code to be encoded in <span class="caps">UTF</span>-8
* New QUrl implementation merged
* Unified data structure behind QVector, QString and QByteArray
* New metaobject revision, better <span class="caps">API</span> 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
* <span class="caps">QNX</span> support improvements
* Preliminary <span class="caps">ANGLE</span> 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 <span class="caps">README</span> in the source package.
You might find it useful to check [[Qt-5-unofficial-builds|unofficial binaries]] ''[qt.io]'' published by the community.
See also [[Building Qt 5 from Git]] ''[qt.io]'' .
==Feedback==
[https://bugreports.qt.io/ The Qt project bug tracker] ''[bugreports.qt.io]'' is the preferred channel for reporting issues.
Check also the Qt 5 Beta [http://labs.qt.nokia.com/2012/08/30/qt-5-beta-is-here/ announcement blog post] ''[labs.qt.nokia.com]'' at Qt Labs
Developers using Qt are encouraged to join the [http://lists.qt.io/mailman/listinfo/interest Interest] ''[lists.qt.io]'' mailing list to share impressions and seek community help.
==Documentation &amp; Guides==
===Documentation===
* <span class="caps">API</span> documentation for the beta is available in the [http://doc.qt.io/qt-5.0/ Qt 5.0 documentation] ''[qt.io]''.
* Wiki for [[Building Qt 5 Documentation|building documentation]] ''[qt.io]''
===Developer Guides &amp; Tutorials===
'''Introduction to Application Development with Qt Quick'''
* [[Developer-Guides#f063af52523a06c5a07f691d6fa09563|Qt Quick Painting using Canvas Item]] ''[qt.io]''
* [[Developer-Guides#59030d7b7554f52d3865f65a84f371a9|Particles and Graphics Effects in Qt Quick 2]] ''[qt.io]''
* [[Developer-Guides#a02113b7528cad11b5c60c3a99b4b843|Developing an arcade game with Qt3D]] ''[qt.io]''
* [[Developer-Guides#28810c65dd0f273a567b83a48839d275|Qt OpenGL Tutorial]] ''[qt.io]''
* [[Developer-Guides#65099ceac9c19e34e56a688784a0d866|Qt Quick Application Developer Guide for Desktop]] ''[qt.io]''
'''Porting existing code'''
* [[Transition from Qt 4.x to Qt5|Transition from Qt 4 to Qt 5]] ''[qt.io]''
===Categories:===
* [[:Category:Developing Qt|Developing_Qt]]
* [[:Category:Developing with Qt|Developing_with_Qt]]
** [[:Category:Developing with Qt::Qt-5|Qt 5]]

Revision as of 16:57, 14 January 2015