Discussion:
[Qt-creator] Qt Creator and Qml
Szyk Cech
2018-08-10 18:15:53 UTC
Permalink
Hi

I have 3 fast questions:

1. Is Qt Creator uses Qml?

If no:

2. Why not?

and:

3. When it will be use Qml?

What I am concerned about this:

Kubuntu developers have high pressure in theirs heads to write modern
applications. So they even decide to drop support for Mourn (package
manager) and develop Qml based Discover - it was nothing more than
political decision. So I wonder how wide this "modern approach" infected
developers minds...

best regards

Szyk Cech

--
http://szyk.jcom.pl/
http://szyk.free.of.pl/
http://szykcech.cba.pl/
http://szyk.000webhostapp.com/
http://www.geocities.ws/szyk/
http://szyk.wex.pl/
André Pönitz
2018-08-10 07:04:52 UTC
Permalink
Post by Szyk Cech
Hi
1. Is Qt Creator uses Qml?
It uses QML in some plugins, most notably the QML Profiler and
the QML Designer, as well as the JavaScript engine to provide
certain scripting capabilities to wizards in the ProjectExplorer.
Post by Szyk Cech
2. Why not?
Question does not apply, as the answer to 1. is 'kind of yes'.
Post by Szyk Cech
3. When it will be use Qml?
Same.
Post by Szyk Cech
Kubuntu developers have high pressure in theirs heads to write modern
applications. So they even decide to drop support for Mourn (package
manager) and develop Qml based Discover - it was nothing more than political
decision. So I wonder how wide this "modern approach" infected developers
minds...
I am not aware of any impact of decisions in the Kubuntu project
on the development of Qt Creator.

Andre'
Szyk Cech
2018-08-14 19:40:15 UTC
Permalink
Hi
I just read some docs "Extending Qt Creator Manual" and study
qt-creator/src/app/main.cpp file. And I have question (maybe not very
wise but important to me):

What are advantages to have Core plugin over MainWindow?!?

I mean MainWindow class which handle whole app skeleton (located in main
app exe module).

One reason for core plugin, from my point of view is that core plugin is
shared object which can easily share its methods to other plugins - I
think it is possible for exe (app exe module), but counter intuitive and
cumbersome, and platform specific.

There are some more reasons for create Core plugin?

thanks in advance and best regards
Szyk Cech
Eike Ziller
2018-08-15 08:43:01 UTC
Permalink
Post by Szyk Cech
Hi
What are advantages to have Core plugin over MainWindow?!?
I mean MainWindow class which handle whole app skeleton (located in main app exe module).
One reason for core plugin, from my point of view is that core plugin is shared object which can easily share its methods to other plugins - I think it is possible for exe (app exe module), but counter intuitive and cumbersome, and platform specific.
There are some more reasons for create Core plugin?
Handling it as just another plugin has the advantage that it uses the exact same startup, shutdown, building, linking, .... semantics as anything else. No need to invent something else :)

--
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
***@qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
Christian Gagneraud
2018-08-15 09:15:06 UTC
Permalink
Post by Eike Ziller
Post by Szyk Cech
Hi
What are advantages to have Core plugin over MainWindow?!?
I mean MainWindow class which handle whole app skeleton (located in main app exe module).
One reason for core plugin, from my point of view is that core plugin is shared object which can easily share its methods to other plugins - I think it is possible for exe (app exe module), but counter intuitive and cumbersome, and platform specific.
There are some more reasons for create Core plugin?
Handling it as just another plugin has the advantage that it uses the exact same startup, shutdown, building, linking, .... semantics as anything else. No need to invent something else :)
Really? like QtCreator's main() doesn't have special handling for the
core plugin...
Last time I checked, the core plugin was loaded explicitly and require
(lot of) hand-crafted initialisation. If Core plugin is "just" another
plugin, why it is not loaded as a result of being the root dependency
of every other plugins?
I understand Eike's point of view, but I agree with Szyk, the 'Core'
plugin could very well be managed as a 'Core' Library.
QtCreator will refuse to start without it. This IMHO contradicts the
very definition of a plugin.

Having say that, QtCreator is awesome, and it's even more awesome to
be able to study its source code (and criticise it! ;)), I believe
that many of us have learned a lot of things by studying it's
architecture, at least I did.
Thanks again.

Chris

PS: I remember reading some (old) slides that started with "QtCreator
is actually just a plugin loader" or something along these lines.
Post by Eike Ziller
--
Eike Ziller
Principal Software Engineer
The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
_______________________________________________
Qt-creator mailing list
http://lists.qt-project.org/mailman/listinfo/qt-creator
Eike Ziller
2018-08-15 10:55:31 UTC
Permalink
Post by Christian Gagneraud
Post by Eike Ziller
Post by Szyk Cech
Hi
What are advantages to have Core plugin over MainWindow?!?
I mean MainWindow class which handle whole app skeleton (located in main app exe module).
One reason for core plugin, from my point of view is that core plugin is shared object which can easily share its methods to other plugins - I think it is possible for exe (app exe module), but counter intuitive and cumbersome, and platform specific.
There are some more reasons for create Core plugin?
Handling it as just another plugin has the advantage that it uses the exact same startup, shutdown, building, linking, .... semantics as anything else. No need to invent something else :)
Really? like QtCreator's main() doesn't have special handling for the
core plugin...
Last time I checked, the core plugin was loaded explicitly and require
(lot of) hand-crafted initialisation. If Core plugin is "just" another
plugin, why it is not loaded as a result of being the root dependency
of every other plugins?
main() does not explicitly load the Core plugin, and does not do anything with the Core plugin except checking for its existence and that it loaded successfully after PluginManager::loadPlugins()
Yes, in that single way the Core plugin is special. But nevertheless the Core plugin is loaded because it is available in the plugin paths, not because of any special actions in main().

The special code in main() handles things that need to be done before creating a QApplication, or before using the PluginManager:

- setting up QSettings, since settings can also affect the plugin manager
- setting up plugin search paths
- setting application attributes that need to be set before creating a QApplication
- setting up translations
- passing command line arguments to an already running instance (instead of starting another instance) if -client is used
Post by Christian Gagneraud
I understand Eike's point of view, but I agree with Szyk, the 'Core'
plugin could very well be managed as a 'Core' Library.
We would need special handling for the “core” parts of Qt Creator of at least
- startup and shutdown
- delayed intialization
- versioning and checks if a plugin can be loaded for this version of Qt Creator
- command line arguments like “-color”, “-theme”, “-presentationMode”, and files to open

All this is done exactly like for any Qt Creator plugin.
Post by Christian Gagneraud
QtCreator will refuse to start without it. This IMHO contradicts the
very definition of a plugin.
Having say that, QtCreator is awesome, and it's even more awesome to
be able to study its source code (and criticise it! ;)), I believe
that many of us have learned a lot of things by studying it's
architecture, at least I did.
Thanks again.
Chris
PS: I remember reading some (old) slides that started with "QtCreator
is actually just a plugin loader" or something along these lines.
Post by Eike Ziller
--
Eike Ziller
Principal Software Engineer
The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
http://qt.io <http://qt.io/>
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
_______________________________________________
Qt-creator mailing list
http://lists.qt-project.org/mailman/listinfo/qt-creator <http://lists.qt-project.org/mailman/listinfo/qt-creator>
--
Eike Ziller
Principal Software Engineer

The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
***@qt.io
http://qt.io
Geschäftsführer: Mika Pälsi,
Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B
Loading...