QtDesktopComponents: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
=Qt Quick Controls (Former Qt Desktop Components)=
h1. Qt Quick Controls (Former Qt Desktop Components)


This project aims to deliver Qt Quick components relevant to desktop developers. This includes things like layouts, menus and styling.
This project aims to deliver Qt Quick components relevant to desktop developers. This includes things like layouts, menus and styling.


<span class="caps">IRC</span> channel: #qt-components on irc.freenode.org
IRC channel: #qt-components on irc.freenode.org


==Scope==
== Scope ==


The project focus is to get the current components set working as well as possible for the Qt 5.1 release.
The project focus is to get the current components set working as well as possible for the Qt 5.1 release.


==Source Code Access==
== Source Code Access ==


Use the “stable” branch and compile against a recent build of Qt 5.1 (qt “stable” branch)
<code><br />git clone ssh://&amp;lt;username&amp;gt;</code>codereview.qt.io:29418/qt/qtquickcontrols.git<br /><code>
 
Use the &quot;stable&amp;quot; branch and compile against a recent build of Qt 5.1 (qt &quot;stable&amp;quot; branch)


Gitorious mirror: http://qt.gitorious.org/qt/qtquickcontrols
Gitorious mirror: http://qt.gitorious.org/qt/qtquickcontrols


==Bug Tracking==
== Bug Tracking ==
 
Use &quot;bugreports.qt.io&amp;quot;:https://bugreports.qt.io, Project &quot;Qt&amp;quot;, Component &quot;QtQuick: Controls&amp;quot; or &quot;QtQuick: Layouts&amp;quot;.


Use [https://bugreports.qt.io bugreports.qt.io] ''[bugreports.qt.io]'', Project “Qt”, Component “QtQuick: Controls” or “QtQuick: Layouts”.
&quot;Filter&amp;quot;:https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=13840&amp;amp;mode=hide for viewing all unresolved bugs.


[https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&requestId=13840&mode=hide Filter] ''[bugreports.qt.io]'' for viewing all unresolved bugs.
== Installation ==


==Installation==
The components rely on several C++ plugins in order to integrate with the desktop. To install the<br />components into your Qt directory, simply enter the root directory and do:


The components rely on several C++ plugins in order to integrate with the desktop. To install the<br /> components into your Qt directory, simply enter the root directory and do:
</code><br />qmake<br />make install<br /><code>


This will compile and copy the plugins and components into your <span class="caps">QTDIR</span>/qml folder. <br /> If you are compiling against a system Qt on linux, you might have to do a ‘sudo make install’<br /> in order to install the project.
This will compile and copy the plugins and components into your QTDIR/qml folder.<br />If you are compiling against a system Qt on linux, you might have to do a 'sudo make install'<br />in order to install the project.


==Usage==
== Usage ==


The examples should show how you can use the components.
The examples should show how you can use the components.
Line 33: Line 37:
There is a video demonstration available at http://www.youtube.com/watch?v=Y1pqL5bXe0A
There is a video demonstration available at http://www.youtube.com/watch?v=Y1pqL5bXe0A


If you are using the QtQuick 2.0 wizard in Qt Creator there are two issues you should be aware of: you cannot have a Window (or ApplicationWindow) as the root item. To do this, you need to change your QtQuickView into a QtQmlEngine since Window is not a QtQuickItem. You have to change QGuiApplication to a QApplication. This is because the components rely on certain widget-specific classes such as QStyle to do native rendering.
If you are using the QtQuick 2.0 wizard in Qt Creator there are two issues you should be aware of:<br />- you cannot have a Window (or ApplicationWindow) as the root item. To do this, you need to change your QtQuickView into a QtQmlEngine since Window is not a QtQuickItem.<br />- You have to change QGuiApplication to a QApplication. This is because the components rely on certain widget-specific classes such as QStyle to do native rendering.


==<span class="caps">API</span> Development Process Ideas==
== API Development Process Ideas ==


* Process to happen on mailing list (subscribe here: http://lists.qt.io/mailman/listinfo/qt-components ).
* Process to happen on mailing list (subscribe here: http://lists.qt.io/mailman/listinfo/qt-components ).
* When making <span class="caps">API</span> proposal/change always include: <span class="caps">API</span> definition and real world example (from a developer standpoint).
* When making API proposal/change always include: API definition and real world example (from a developer standpoint).
* Once decided upon an <span class="caps">API</span> proposal/change documentation has to be written right away.
* Once decided upon an API proposal/change documentation has to be written right away.
* Enforcing a timeline around <span class="caps">API</span> discussion: from start of <span class="caps">API</span> definition to decision on it: 1 week.
* Enforcing a timeline around API discussion: from start of API definition to decision on it: 1 week.
* Making sure that at least one representant of each interested platform validates the <span class="caps">API</span> (if possible).
* Making sure that at least one representant of each interested platform validates the API (if possible).
* Try to follow Qt naming convention if unsure.
* Try to follow Qt naming convention if unsure.
* In case of unresolvable conflict of opinions, an appointed maintainer will have the last word.
* In case of unresolvable conflict of opinions, an appointed maintainer will have the last word.


==Blogs entries==
== Blogs entries ==


http://blog.qt.io/2011/03/10/qml-components-for-desktop/<br />http://blog.qt.io/2011/05/26/table-view-with-qt-quick/<br />http://blog.qt.io/2011/08/26/toplevel-windows-and-menus-with-qt-quick/<br />http://blog.qt.io/2012/06/06/desktop-components-for-qt-5/
http://blog.qt.io/2011/03/10/qml-components-for-desktop/<br />http://blog.qt.io/2011/05/26/table-view-with-qt-quick/<br />http://blog.qt.io/2011/08/26/toplevel-windows-and-menus-with-qt-quick/<br />http://blog.qt.io/2012/06/06/desktop-components-for-qt-5/
===Categories:===
* [[:Category:Playground|Playground]]

Revision as of 14:15, 23 February 2015

h1. Qt Quick Controls (Former Qt Desktop Components)

This project aims to deliver Qt Quick components relevant to desktop developers. This includes things like layouts, menus and styling.

IRC channel: #qt-components on irc.freenode.org

Scope

The project focus is to get the current components set working as well as possible for the Qt 5.1 release.

Source Code Access

<br />git clone ssh://&amp;lt;username&amp;gt;

codereview.qt.io:29418/qt/qtquickcontrols.git

Use the &quot;stable&amp;quot; branch and compile against a recent build of Qt 5.1 (qt &quot;stable&amp;quot; branch)

Gitorious mirror: http://qt.gitorious.org/qt/qtquickcontrols

== Bug Tracking ==

Use &quot;bugreports.qt.io&amp;quot;:https://bugreports.qt.io, Project &quot;Qt&amp;quot;, Component &quot;QtQuick: Controls&amp;quot; or &quot;QtQuick: Layouts&amp;quot;.

&quot;Filter&amp;quot;:https://bugreports.qt.io/secure/IssueNavigator.jspa?mode=hide&amp;amp;requestId=13840&amp;amp;mode=hide for viewing all unresolved bugs.

== Installation ==

The components rely on several C++ plugins in order to integrate with the desktop. To install the<br />components into your Qt directory, simply enter the root directory and do:


qmake
make install

This will compile and copy the plugins and components into your QTDIR/qml folder.
If you are compiling against a system Qt on linux, you might have to do a 'sudo make install'
in order to install the project.

Usage

The examples should show how you can use the components.

There is a video demonstration available at http://www.youtube.com/watch?v=Y1pqL5bXe0A

If you are using the QtQuick 2.0 wizard in Qt Creator there are two issues you should be aware of:
- you cannot have a Window (or ApplicationWindow) as the root item. To do this, you need to change your QtQuickView into a QtQmlEngine since Window is not a QtQuickItem.
- You have to change QGuiApplication to a QApplication. This is because the components rely on certain widget-specific classes such as QStyle to do native rendering.

API Development Process Ideas

  • Process to happen on mailing list (subscribe here: http://lists.qt.io/mailman/listinfo/qt-components ).
  • When making API proposal/change always include: API definition and real world example (from a developer standpoint).
  • Once decided upon an API proposal/change documentation has to be written right away.
  • Enforcing a timeline around API discussion: from start of API definition to decision on it: 1 week.
  • Making sure that at least one representant of each interested platform validates the API (if possible).
  • Try to follow Qt naming convention if unsure.
  • In case of unresolvable conflict of opinions, an appointed maintainer will have the last word.

Blogs entries

http://blog.qt.io/2011/03/10/qml-components-for-desktop/
http://blog.qt.io/2011/05/26/table-view-with-qt-quick/
http://blog.qt.io/2011/08/26/toplevel-windows-and-menus-with-qt-quick/
http://blog.qt.io/2012/06/06/desktop-components-for-qt-5/