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)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
'''English'''<br />| [[:Qt-5-UI-Helpers_German|Deutsch]]<br />| [[:Qt-5-UI-Helpers_Russian|Русский]]<br />| [[:Qt-5-UI-Helpers_Polish|Polski]]<br />| [[:Qt-5-UI-Helpers_Dutch|Nederlands]]<br />| [[:Qt-5-UI-Helpers_Portuguese|Português]]<br />| [[:Qt-5-UI-Helpers_Spanish|Español]]<br />| [[:Qt-5-UI-Helpers_Ukrainian|Українською]]<br />| [[:Qt-5-UI-Helpers_Persian|فارسی]]<br />| [[:Qt-5-UI-Helpers_Arabic|عربي]]<br />| [[:Qt-5-UI-Helpers_Korean|한국어]]<br />| [[:Qt-5-UI-Helpers_Finnish|Suomi]]<br />| [[:Wiki Home Catalan|Català]]<br />| [[:Wiki Home Italian|Italiano]]<br />| [[:Qt-5-UI-Helpers_Japanese|日本語]]<br />| [[:Qt-5-UI-Helpers_French|Français]]<br />| [[:Wiki Home Hungarian|Magyar]]<br />| [[:Qt-5-UI-Helpers_Kannada|ಕನ್ನಡ]]<br />| [[:Qt-5-UI-Helpers_Hindi|हिन्दी]]<br />| [[:Qt-5-UI-Helpers_Thai|ภาษาไทย]]<br />| [[:Qt-5-UI-Helpers_SimplifiedChinese|简体中文]]<br />| [[:Qt-5-UI-Helpers_Bulgarian|Български]]<br />[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
#REDIRECT [[Qt_5_UI_Helpers]]
 
= Qt 5 UiHelpers =
 
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 &quot;change 15857&amp;quot;:http://codereview.qt.io/#change,15857, 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 ;)
 
{background:#009900}. |''. QtWidget Class |''. UiHelpers Equivalent |''. Status<br />|<br />|QUndoStack<br />|UiUndoStack<br />| -<br />|<br />|QUndoCommand<br />|UiUndoCommand<br />| -<br />|<br />|QUndoGroup<br />|UiUndoGroup<br />| -<br />|<br />|QFileSystemModel<br />|UiFileSystemModel<br />|Better example needed.<br />|<br />|QStandardItemModel<br />|UiStandardItemModel<br />|Need both example and test.<br />|<br />|QAction<br />|UiAction<br />|Needs code and tests cleanup. Also, an example.<br />|<br />|QCompleter<br />|'''UiCompletionModel'''<br />|Needs tests. Example OK.<br />|<br />|QProxyModel<br />|UiProxyModel<br />|'''WIP'''<br />|
<br />We still doing experiments, far from a stable state. The plan is to go further, provinding an API more suitable to be used with QtQuick 2.
<br />h3. QtQuick Plugins
<br />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 QML. The plugins are adaptions of the C++ classes of this module to have a declarative API.
<br />Follows the table of the plugins we'll have and it's status:
<br />{background:#009900}. |''. Plugin Name |''. Functionality |''. Status<br />|<br />|'''Quick UndoFramework'''<br />|QML friendly API to use the UndoFramework<br />|'''WIP'''<br />|<br />|'''Quick CompletionModel'''<br />|QML model for completion<br />|'''WIP'''<br />|
 
== Support ==
 
The Qt5 UiHelpers target the following operating systems:
 
{background:#009900}. |''. Operating system |''. Supported |_. Note<br />|<br />|Windows NT/2K/XP/Vista/7<br />|YES<br />|Tests needed<br />|<br />|Windows CE<br />|YES<br />|Tests needed<br />|<br />|Gnu/Linux<br />|YES<br />|Full support<br />|<br />|MacOSX<br />|YES<br />|Tests needed<br />|<br />|Others Unix<br />|YES<br />|All POSIX-compatible<br />|<br />|Symbian<br />|NO<br />| -<br />|
 
== 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.
 
&quot;snapshot of the master branch&amp;quot;:https://qt.gitorious.org/qtplayground/uihelpers/archive-tarball/master
 
gitorious mirror:<br /><code><br />git clone git://gitorious.org/qtplayground/uihelpers.git<br /></code>
 
Qt-project main repository:<br /><code><br />git clone ssh://&amp;lt;gerrit username&amp;gt;</code>codereview.qt.io:29418/playground/uihelpers.git<br /><code>
 
== Building and Installing ==
 
=== Building ===
 
To build the module, be sure to have the Qt5 qmake in your PATH then go to the source directory of your local clone of the UiHelpers repository:<br /></code><br />cd uihelpers<br />qmake<br />make<br /><code>
 
=== 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:
 
</code><br />git push ssh://codereview.qt.io:29418/playground/uihelpers.git refs/for/master<br /><code>
 
We are using the same commit-template used by Qt 5. So, to make things easier, you can do:<br /></code><br />git config commit.template $PATH_TO_YOUR_QT5_REPO/.commit-template<br /><code>
 
You can easily contact us on development</code>qt.io or #qt-labs </code> 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, like &quot;fixithere&amp;quot;:http://www.fixithere.net ;)
* Become a Qt Add-on =)

Latest revision as of 10:05, 3 March 2015

Redirect to: