Qt-5-UI-Helpers: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Redirected page to Qt 5 UI Helpers)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
'''English''' | [[Qt-5-UI-Helpers German|Deutsch]] | [[Qt-5-UI-Helpers Russian|Русский]] | [[Qt-5-UI-Helpers Polish|Polski]] | [[Qt-5-UI-Helpers Dutch|Nederlands]] | [[Qt-5-UI-Helpers Portuguese|Português]] | [[Qt-5-UI-Helpers Spanish|Español]] | [[Qt-5-UI-Helpers Ukrainian|Українською]] | [[Qt-5-UI-Helpers Persian|فارسی]] | [[Qt-5-UI-Helpers Arabic|عربي]] | [[Qt-5-UI-Helpers Korean|한국어]] | [[Qt-5-UI-Helpers Finnish|Suomi]] | [[Wiki-Home-Catalan|Català]] | [[Wiki-Home-Italian|Italiano]] | [[Qt-5-UI-Helpers Japanese|日本語]] | [[Qt-5-UI-Helpers French|Français]] | [[Wiki-Home-Hungarian|Magyar]] | [[Qt-5-UI-Helpers Kannada|ಕನ್ನಡ]] | [[Qt-5-UI-Helpers Hindi|हिन्दी]] | [[Qt-5-UI-Helpers Thai|ภาษาไทย]] | [[Qt-5-UI-Helpers SimplifiedChinese|简体中文]] | [[Qt-5-UI-Helpers Bulgarian|Български]]<br />
#REDIRECT [[Qt_5_UI_Helpers]]
 
=Qt 5 UiHelpers=
 
[[Qt-5-Ui-Helpers|http://wiki.qt.io/Qt-5-Ui-Helpers]]
 
==Brief description==
 
The UI Helpers repository contains non-widget based ui classes that are useful for those who intend to develop applications using Qt5/QtQuick 2 but do not want to depend on QtWidgets – mainly desktop applications. Examples of classes are QUndoCommand, QAction, QFileSystemModel, etc.
 
==History==
 
The work started with the [http://codereview.qt.io/#change,15857 change 15857] ''[codereview.qt.io]'', when we discussed about moving QUndo* out of QtWidgets. In this change, first we moved these classes to QtGui, then to a new lib inside qtbase. However, it was not considered ideal and the decision was to create a separated repo for these classes, leaving QtWidgets untouched (since the Qt community do not want to introduce new bugs in this lib).
 
==Functionality==
 
Follows the table of QtWidgets classes that are available in the independent module UiHelpers. Notice we do not want to use the '''Ui''' prefix forever <span class="smiley">;)</span>
 
{| class="infotable line"
|- style="background: #009900"
! QtWidget Class
! UiHelpers Equivalent
! Status
|-
| QUndoStack
| UiUndoStack
| –
|-
| QUndoCommand
| UiUndoCommand
| –
|-
| QUndoGroup
| UiUndoGroup
| –
|-
| QFileSystemModel
| UiFileSystemModel
| Better example needed.
|-
| QStandardItemModel
| UiStandardItemModel
| Need both example and test.
|-
| QAction
| UiAction
| Needs code and tests cleanup. Also, an example.
|-
| QCompleter
| '''UiCompletionModel'''
| Needs tests. Example OK.
|-
| QProxyModel
| UiProxyModel
| '''<span class="caps">WIP</span>'''
|}
 
We still doing experiments, far from a stable state. The plan is to go further, provinding an <span class="caps">API</span> more suitable to be used with QtQuick 2.
 
===QtQuick Plugins===
 
As the QtQuick is now a firs class citizen of the Qt world, we are creating a few plugins that ease the development of more complex applications in <span class="caps">QML</span>. The plugins are adaptions of the C++ classes of this module to have a declarative <span class="caps">API</span>.
 
Follows the table of the plugins we’ll have and it’s status:
 
{| class="infotable line"
|- style="background: #009900"
! Plugin Name
! Functionality
! Status
|-
| '''Quick UndoFramework'''
| <span class="caps">QML</span> friendly <span class="caps">API</span> to use the UndoFramework
| '''<span class="caps">WIP</span>'''
|-
| '''Quick CompletionModel'''
| <span class="caps">QML</span> model for completion
| '''<span class="caps">WIP</span>'''
|}
 
==Support==
 
The Qt5 UiHelpers target the following operating systems:
 
{| class="infotable line"
|- style="background: #009900"
! Operating system
! Supported
! Note
|-
| Windows NT/2K/XP/Vista/7
| <span class="caps">YES</span>
| Tests needed
|-
| Windows CE
| <span class="caps">YES</span>
| Tests needed
|-
| Gnu/Linux
| <span class="caps">YES</span>
| Full support
|-
| MacOSX
| <span class="caps">YES</span>
| Tests needed
|-
| Others Unix
| <span class="caps">YES</span>
| All <span class="caps">POSIX</span>-compatible
|-
| Symbian
| NO
| –
|}
 
==Getting the source code==
 
There are 3 possible ways to get the source code. There is a mirror at Gitorious, where you can also download a tarball. The official repository at qt-project. Only the qt-project repository accepts contributions, using gerrit code review tool.
 
[https://qt.gitorious.org/qtplayground/uihelpers/archive-tarball/master snapshot of the master branch] ''[qt.gitorious.org]''
 
gitorious mirror:<br />
 
Qt-project main repository:<br />
 
==Building and Installing==
 
===Building===
 
To build the module, be sure to have the Qt5 qmake in your <span class="caps">PATH</span> then go to the source directory of your local clone of the UiHelpers repository:<br />
 
===Installation===
 
make install works as any other Qt 5 module, installing headers to $QTDIR/include/UiHelpers and libUiHelpers to $QTDIR/lib
 
==Using==
 
There are few examples in the repository, contributions are welcome.
 
==Contribute==
 
Suggestions and contributions are welcome!
 
After the initial import, patches must go through gerrit:
 
We are using the same commit-template used by Qt 5. So, to make things easier, you can do:<br />
 
You can easily contact us on development@qt.io or #qt-labs @ freenode – anselmolsm, luisgabriel, mailson, dakerfp, lacerda, cidoca
 
==To Do List==
 
* Docs
* Examples
* More tests
* Improve model support in UiQuickCompleter
* A complete example
* Test on Window and OS X (contributions are welcome!)
* Choose a better name for the project <span class="smiley">;)</span>
* Become a Qt Add-on =)
 
===Categories:===
 
* [[:Category:Playground|Playground]]

Latest revision as of 10:05, 3 March 2015

Redirect to: