Re: [Interest] Using private QtQuick APIs
2018-01-18 9:32 GMT+01:00 Uwe Rathmann: > > > And as long as C++ has not been agreed to be an officially supported API > to implemented Qt/Quick applications I don't have many arguments for my > patches. > I remember one of the Qt SceneGraph/Quick developers saying at some point that most of the scene graph API is private because when Qt Quick 2 was published the internals were expected to change a lot. He might have added that the internal APIs could (should ?) be public in the future. I do not remember who it was and haven't been able to find the message. IMHO it would be nice to have a fully usable public C++ API for the scene graph. Last time I checked even the glyph node was private. But I do not see it happening any time soon, it has been requested several times in the past years and none of the involved people seem to care about this. Regards Benjamin ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wed, 17 Jan 2018 11:59:41 -0800, Thiago Macieira wrote: > True. Maybe it has never occurred to them that the API would be needed. > You can help make it happen by adding this API yourself too. In the case of QSkinny we are not talking about some APIs it is a fundamentally different philosophy about what Qt/Quick is supposed to be. And as long as C++ has not been agreed to be an officially supported API to implemented Qt/Quick applications I don't have many arguments for my patches. IMHO the only way to add something new to the discussion is to offer an implementation, that makes arguments quantifiable. Uwe ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
I propose the following motion: directly import the whole of github & sourceforge into the Qt project. After all why shouldn't every piece of code in the universe be part of Qt, released at a perfect six-month cadence ? This way, every project in the world will be able to access the "private" Qt APIs since apparently you need to be part of this very special 1985 state-of-the-art public/private OOP club in order to be allowed to glance at them. I just hope projects which happens to start and end in a few weeks will be able to cope with the six-decades gerrit-induced delay caused by the astonishing number of QMyPinkRadioButton reimplementations. --- Jean-Michaël Celerier http://www.jcelerier.name On Wed, Jan 17, 2018 at 8:59 PM, Thiago Macieirawrote: > On Wednesday, 17 January 2018 10:27:43 PST Uwe Rathmann wrote: > > On Wed, 17 Jan 2018 09:34:54 -0800, Thiago Macieira wrote: > > > It is just sharing code. The important difference is that both modules > > > are developed at the same time and released at the same time, by the > > > same team. > > > > Yes of course, but my project is developed at a different time, released > > at a different time by a different team. > > > > That makes things more difficult, but the only one who can solve the > > problem is the Qt development by making the necessary APIs official. > > True. Maybe it has never occurred to them that the API would be needed. > > You can help make it happen by adding this API yourself too. > > > > Import it into the Qt Project. > > > > What exactly is the Qt Project in your opinion ? > > In this case, a repository in qt-project.org, following Qt Project > governance > rules. > > -- > Thiago Macieira - thiago.macieira (AT) intel.com > Software Architect - Intel Open Source Technology Center > > > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest > ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wednesday, 17 January 2018 10:27:43 PST Uwe Rathmann wrote: > On Wed, 17 Jan 2018 09:34:54 -0800, Thiago Macieira wrote: > > It is just sharing code. The important difference is that both modules > > are developed at the same time and released at the same time, by the > > same team. > > Yes of course, but my project is developed at a different time, released > at a different time by a different team. > > That makes things more difficult, but the only one who can solve the > problem is the Qt development by making the necessary APIs official. True. Maybe it has never occurred to them that the API would be needed. You can help make it happen by adding this API yourself too. > > Import it into the Qt Project. > > What exactly is the Qt Project in your opinion ? In this case, a repository in qt-project.org, following Qt Project governance rules. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
17.01.2018, 21:30, "Uwe Rathmann": > On Wed, 17 Jan 2018 09:34:54 -0800, Thiago Macieira wrote: > >> It is just sharing code. The important difference is that both modules >> are developed at the same time and released at the same time, by the >> same team. > > Yes of course, but my project is developed at a different time, released > at a different time by a different team. > > That makes things more difficult, but the only one who can solve the > problem is the Qt development by making the necessary APIs official. > > Please don't blame me for using the same level of APIs that are used by a > module like QQuickControls 2, when I have to solve a similar type of > problems. > >> Import it into the Qt Project. > > What exactly is the Qt Project in your opinion ? Qt Project is an organization described in http://wiki.qt.io/The_Qt_Governance_Model Procedure of requesting new repository is described in http://wiki.qt.io/Requesting_New_Repositories > > Uwe > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest -- Regards, Konstantin ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wed, 17 Jan 2018 09:34:54 -0800, Thiago Macieira wrote: > It is just sharing code. The important difference is that both modules > are developed at the same time and released at the same time, by the > same team. Yes of course, but my project is developed at a different time, released at a different time by a different team. That makes things more difficult, but the only one who can solve the problem is the Qt development by making the necessary APIs official. Please don't blame me for using the same level of APIs that are used by a module like QQuickControls 2, when I have to solve a similar type of problems. > Import it into the Qt Project. What exactly is the Qt Project in your opinion ? Uwe ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wednesday, 17 January 2018 03:24:26 PST Uwe Rathmann wrote: > On Wed, 17 Jan 2018 23:19:57 +1300, Christian Gagneraud wrote: > > Why do you need private headers in the first place? > > For the same reason, why a module like QuickControls 2 is using private > headers of Quick Core. It is just sharing code. The important difference is that both modules are developed at the same time and released at the same time, by the same team. If they introduce a breaking change in one, they can fix the other. They also write one expecting only the other is using the private API, so they can optimise for it and assume no one else is trying to use it. That's not the case with your code. > The qskinny project is about creating a C++ framework ( QML is only > optional ) with an API in the spirit of Qt/Widgets, but using the modern > graphic stack of Qt/Quick. Import it into the Qt Project. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wed, 17 Jan 2018 23:19:57 +1300, Christian Gagneraud wrote: > Why do you need private headers in the first place? For the same reason, why a module like QuickControls 2 is using private headers of Quick Core. The qskinny project is about creating a C++ framework ( QML is only optional ) with an API in the spirit of Qt/Widgets, but using the modern graphic stack of Qt/Quick. It needs way less memory and we don't have any startup performance issues - categories, where we failed with our previous version of the product using Qt/Quick in the standard way. The code you can see on github is coming from a project in the automotive industry, that is currently under development. Unfortunately I can only release a subset of our code under an Open Source License and I didn't have the time yet to pimp up the provided examples and skins to be more impressive. Maybe once our product has been introduced to the public I can give a better demonstration of what we achieved with this alternative approach. Uwe ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On 17 January 2018 at 21:32, Uwe Rathmannwrote: > On Wed, 17 Jan 2018 08:25:35 +, Mitch Curtis wrote: > > This how I do it ( see https://github.com/uwerat/qskinny ): > > QT += quick quick-private > CONFIG += no_private_qt_headers_warning > > To get rid of warnings from Qt headers, when doing pedantic checks I also > have the following lines: > > linux { > QMAKE_CXXFLAGS += \ > -isystem $$[QT_INSTALL_HEADERS] \ > -isystem $$[QT_INSTALL_HEADERS]/QtCore \ > -isystem $$[QT_INSTALL_HEADERS]/QtGui \ > -isystem $$[QT_INSTALL_HEADERS]/QtGui/$$[QT_VERSION]/QtGui \ > -isystem $$[QT_INSTALL_HEADERS]/QtQuick \ > -isystem $$[QT_INSTALL_HEADERS]/QtQuick/$$[QT_VERSION]/QtQuick \ > -isystem $$[QT_INSTALL_HEADERS]/QtQml \ > -isystem $$[QT_INSTALL_HEADERS]/QtQml/$$[QT_VERSION]/QtQml > } Honestly, shame on you for doing that. You're depending on undefined behaviour and hiding traces, what can go wrong? Why do you need private headers in the first place? Chris > > HTH, > Uwe > > > > ___ > Interest mailing list > Interest@qt-project.org > http://lists.qt-project.org/mailman/listinfo/interest ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
On Wed, 17 Jan 2018 08:25:35 +, Mitch Curtis wrote: This how I do it ( see https://github.com/uwerat/qskinny ): QT += quick quick-private CONFIG += no_private_qt_headers_warning To get rid of warnings from Qt headers, when doing pedantic checks I also have the following lines: linux { QMAKE_CXXFLAGS += \ -isystem $$[QT_INSTALL_HEADERS] \ -isystem $$[QT_INSTALL_HEADERS]/QtCore \ -isystem $$[QT_INSTALL_HEADERS]/QtGui \ -isystem $$[QT_INSTALL_HEADERS]/QtGui/$$[QT_VERSION]/QtGui \ -isystem $$[QT_INSTALL_HEADERS]/QtQuick \ -isystem $$[QT_INSTALL_HEADERS]/QtQuick/$$[QT_VERSION]/QtQuick \ -isystem $$[QT_INSTALL_HEADERS]/QtQml \ -isystem $$[QT_INSTALL_HEADERS]/QtQml/$$[QT_VERSION]/QtQml } HTH, Uwe ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest
Re: [Interest] Using private QtQuick APIs
In qtquickcontrols2.git [1] it’s linked to like this: QT_PRIVATE += quick-private I think QT += quick-private also works.. not sure what the difference is. [1] http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/quicktemplates2/quicktemplates2.pro#n6 On 1/16/18, 4:43 PM, "Interest on behalf of Christopher Probst"wrote: Hi, I am looking to use QtQuick private APIs. More specifically I would like to use the QQuickWindowPrivate class. Out of box, I will get either header files missing errors or linking errors once the header file errors are resolved. What is the standard Qt way to use the QQuickWindowPrivate private classe? Thanks, Christopher ___ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest