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.

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)
 
Line 1: Line 1:
'''English'''
#REDIRECT [[Qt_5_UI_Helpers]]
| [[: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|Български]]
[toc align_right="yes" depth="3"]
 
= 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 "change 15857":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
|
|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
|'''WIP'''
|
 
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.
 
h3. 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 QML. The plugins are adaptions of the C++ classes of this module to have a declarative API.
 
Follows the table of the plugins we'll have and it's status:
 
{background:#009900}. |''. Plugin Name |''. Functionality |''. Status
|
|'''Quick UndoFramework'''
|QML friendly API to use the UndoFramework
|'''WIP'''
|
|'''Quick CompletionModel'''
|QML model for completion
|'''WIP'''
|
 
== Support ==
 
The Qt5 UiHelpers target the following operating systems:
 
{background:#009900}. |''. Operating system |''. Supported |_. Note
|
|Windows NT/2K/XP/Vista/7
|YES
|Tests needed
|
|Windows CE
|YES
|Tests needed
|
|Gnu/Linux
|YES
|Full support
|
|MacOSX
|YES
|Tests needed
|
|Others Unix
|YES
|All POSIX-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.
 
"snapshot of the master branch":https://qt.gitorious.org/qtplayground/uihelpers/archive-tarball/master
 
gitorious mirror:
<code>
git clone git://gitorious.org/qtplayground/uihelpers.git
</code>
 
Qt-project main repository:
<code>
git clone ssh://<gerrit username>@codereview.qt.io:29418/playground/uihelpers.git
</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:
<code>
cd uihelpers
qmake
make
</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>
git push ssh://codereview.qt.io:29418/playground/uihelpers.git refs/for/master
</code>
 
We are using the same commit-template used by Qt 5. So, to make things easier, you can do:
<code>
git config commit.template $PATH_TO_YOUR_QT5_REPO/.commit-template
</code>
 
You can easily contact us on development@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 "fixithere":http://www.fixithere.net ;)
* Become a Qt Add-on =)

Latest revision as of 10:05, 3 March 2015

Redirect to: