On 3/24/21 2:21 PM, Christian Gagneraud wrote:
On Thu, 25 Mar 2021 at 01:22, Roland Hughes wrote:
You forgot customer abandonment
death of OpenSource LTS
Qt 6 being useless
QML needing to be ripped out.
Is there life on Mars?
I'm from Mars.
___
Hi Fabian,
In general, you should bug your upstream to provide a qmltypes file for
each module. They know best what types they want to expose in what
version and under what URI. I do understand that upstream may be less
than delighted, though ...
Modern QML applications generate their qmltyp
Hi,
We've recently added the "prefer" directive to the qmldir format. With
it you can specify a preferred location for QML files to be loaded from.
Usually this will be in the resource file system. Files in the resource
file system can be pre-compiled with qmlcachegen.
Therefore, during deve
One thing I noticed contributing to this effect is that it is apparently
difficult to pass objects of "medium" complexity through the glue layer >
Simple stuff like integers and strings are fine (enums already get
interesting...), really complex stuff like QAbstractItemModels can be fine,
but for
You know that I do appreciate your work to make QML easier to use. However,
I am still not convinced that a custom language (especially one that does
not fit _that_ seamlessly to C++) is needed at all.
Well, that's the main point then. Any language that does the object
composition in a simpler
Hi Jakub,
nice to hear someone is trying the fancy new QML type registration!
[...]
I spotted, I believe, the most important changes. QQmlExtensionPlugin
being changed to QmlEngineExtensionPlugin, QML_ELEMENT added in Qt
5.15.X and removal of QQmlExtensionPlugin::registerTypes.
Technically,
If I came from Mars that still wouldn't give me the right to abuse,
insult or demean other people on this list.
You clearly did not read the secret Martian amendment to the code of
conduct. Roland has. We're neighbors.
Anyway, the amount of popcorn I have ingested reading this list tells me
Hi,
GuiApplication::GuiApplication(int argc, char*argv[]):
QGuiApplication::QGuiApplication(argc, argv)
{
m_hardwareInterface = new HardwareInterface;
qmlRegisterSingletonInstance("com.company", 1, 0, "HardwareInterface",
m_hardwareInterface);
}
qmlRegisterSingletonIns
Hi,
The problem to discuss:
* An application that wants to be extendable via plugins.
* These are found and loaded at runtime.
* Not all of them are used at the time.
* The plugins require non-trivial UI, that they ought to "bring
themselves".
* During the runtime of the applicati
Maybe I missed something, but this seems more like a solution to manage
QML resources and modules that you know about at compile time.
The QML import path allows you to combine modules compiled separately in
the context of different projects.
I'm talking about a runtime problem. Lemme try to
But my goal is to not know about the types beforehand at all. It's
basically the "copy the dll to the application folder and it'll
magically show up as an option" pattern. The goal is to provide an
extensibility framework, like eclipse, or web browser addons. Not just
using a type defined elsew
As of last month, 1.26% of all laptops and desktop computers
worldwide were still running on the 19-year-old OS. That’s a greater
proportion than much younger operating systems Windows 8 (0.57%),
ChromeOS (0.42%) and Windows Vista (0.12%).
The only thing one has to do to keep these systems "secu
Long story short: You can have a Qt 5.15 LTS. You just have to pay for
it. You can even have Qt supported on obscure outdated platforms, as
Volker mentioned. It's just even more expensive. The price is high
because there is a lot work involved in making this happen and the
number of customers r
I doubt you get a paid-for 5.15 LTS under an Open Source licence,
so no, this is not comparable a̲t̲ ̲a̲l̲l̲.
I did not compare to anything. Roland listed a number of open source
projects with LTS versions _after_ I wrote this.
If you want to discuss the issue of "I want a supported open sour
There are no patient killing bugs in the underlying OS or the previously
used drivers. Those only exist in the new drivers, new OS patches and
new Qt code. All of the new code has to be written following 62304 SDLC
Although I doubt that Windows XP or the new graphics drivers are free of
patien
Hi,
Let's look at the QML snippet again:
enabledBorders: {
switch (control.edge) {
case Qt.BottomEdge:
return PlasmaCore.FrameSvgItem.TopBorder;
case Qt.RightEdge:
return PlasmaCore.FrameSvgItem.LeftBorder;
case Qt.To
I now saw your nice blog post about this at [1], saying "You should
not call qmlRegisterType() and friends procedurally anymore.".
I then saw that there's no pointer in the docs for qmlRegisterType and
friends [2] to QML_ELEMENT.
There are quite a few links from the qmlRegisterType() family of
The question is all about QtQml 2.15 Binding type. The infamous missing
unexported `restoreMode` property sure makes our lifes slightly harder
than it should be (by generating warnings if left out); but when it
comes to choosing an appropriate value for it -- I am totally lost.
The short story i
a, Use type annotations on all JavaScript functions in QML files.
Period. It helps tooling, gives you better diagnostics from qmllint and
qmlsc, helps you understand your code better. There are no downsides.
b, In this particular case we could be more lenient, but what if that
was actually an
On Thursday, November 25, 2021 11:47:19 PM MSK Alexander Dyagilev wrote:
I'm trying to:
var re = new RegExp('someregex', 's');
This does not produce a QRegularExpression but rather a JavaScript
regular expression. Unfortunately those are slightly different. See
https://developer.mozilla.org/
And the 's' flag was apparently added in ES2018, which QML does not
support, yet.
best,
Ulf
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest
So, did I stumble on a bug?
Indeed that sounds wrong. You should not need to include qqmlprivate.h
manually. We've moved the registration macros from qqml.h to
qqmlregistration.h, but apparently not all their dependencies. Including
qqml.h instead of qqmlregistration.h should work.
best reg
https://codereview.qt-project.org/c/qt/qtdeclarative/+/383175 may have
fixed this. It forward declares some of the types.
best regards,
Ulf
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/interest
On a side note, I was wondering, why these, contrary to other Qt
headers, don't provide cpp style naming?
Where do you see the lack in cpp style naming? What name is wrong?
best regards,
Ulf
___
Interest mailing list
Interest@qt-project.org
https://li
I didn't mean the name's wrong, simply that I read
in the docs instead of or
something akin.
would import a class called "QQmlRegistration". There
is no such class in that header. It's a collection of macros. The
correct form is .
best regards,
Ulf
___
To be frank it's been an annoyance for me that gadgets can't be
instantiated the same way the QObject can within the QML document/tree.
Is there a good reason to disallow this or is it simply not implemented?
Am I missing some odd use/corner case why it's not a good idea?
It's not implemented
Yeah, but my beef with it is that I must derive from QObject for that,
don't I? I can live with not having notifications for the fields, is
what I mean.
font is explicitly _not_ derived from QObject. That's the whole point of
value types. Value types, however, cannot exist as root objects. The
Person is a `QObject`, the `Age` is a gadget I've exposed from C++.
Then it's easy. If the "age" property is declared in C++, already today
you can do the following (just like with font):
property var person: Person {
age {
years: 12
months: 4
}
Simulation.onAdvan
Well, it does work, albeit I'm not convinced if it's better/efficient
enough.
In any case, if you're interested we can pick up on gerrit, just say so.
Sure, if you have something on gerrit let me see!
However, value types with upper case names is something I probably won't
allow. All our exis
Is the place where the module's qmldir ends up reachable via the QML
import path? If you're linking the library into the application, you may
just add :/ to your import path so that it's loaded from the qrc file
system right away. Be aware that some linkers just drop the linkage if
they perceiv
Otherwise, if the module ends
up in C:/foo/bar/Tsc/Ui/, then you need to add C:/foo/bar/ to the import
path.
Well, unless your executable is in C:/boo/bar. Then you don't need to do
anything. But apparently that's not the case.
The executable would be at the root of the application-specific
I don't know. I have the generated qmldir in
the C:\Programming\tsc\build\debug\TscUi directory, which I think should
be correct. I haven't messed with the output paths at all.
The application goes to a neighboring directory
in C:\Programming\tsc\build\debug\TscApp
Well, no, that doesn't work.
Perhaps that's how it's supposed to work, but I'm not intending to mess
around with the target output paths in cmake. It simply makes no sense
to me.
If you want the QML engine to find your module, you need to follow
certain conventions around the paths.
You can create a separate CMake targe
In my case to make
extra sure I exported a dummy global symbol from the dll. If I don't do
anything with it - nothing works. If I print it with qDebug() in the
application code, the library is loaded and registration code and all
works just as expected.
Indeed. And instead of the dummy symbol
I imagine I'm not supposed to do such stuff, but is it at all possible
to provide a QML enumerator at runtime from C++?
Why does it have to be an enumerator? To me it sounds like the values
should be properties of a singleton. The code accessing them needs to
know a fixed set of names after al
Well, the number of names isn't fixed is the point - they're loaded at
runtime and will change (increase) from time to time.
Then an enumerator won't really help you. The point of an enumerator is
that each entry is a constant.
If the names and values can change at runtime, you should use a
Hi Konstantin,
I have exposed some dynamic properties through QQmlPropertyMap to the
QML engine and that works well. However I need to change the values from
C++ and want to notify the bindings about the property change from
there. Is there a way to do it?
QQmlPropertyMap::setValue(key, valu
Hi,
Do you possibly mean QQmlPropertyMap::updateValue, because I don't see a
setValue method in the documentation. Either way it doesn't appear to
Sorry, it's called:
void insert(const QString &key, const QVariant &value);
Gadgets cannot send signals or notify about property changes in any
On a related note, I'd suggest including an iterator/const_iterator for
the QQmlPropertyMap for convenience, and also it could possibly handle
this sort of value change in a more streamlined manner.
QQmlPropertyMap is not our focus for new features. It's most important
downside is that we cann
Hi,
just lately I started integrating QML features into my Qt6 app
(related to web browsing). This works fine so far, however, after
deployment via macdeployqt I receive this error upon bootup:
module "QtQml.WorkerScript" is not installed
There can be many reasons for this. The most likely on
Hi,
I need to migrate a Qt 5 application with QML ui to Qt 6 without
losing Qt 5 support. What is the best approach here? Version-specific
resources? File selectors (by the way is it even possible to select
QML files based on the Qt version?) I mean it is clear that
platform-specific code/import
Which raises the error "ReferenceError: model is not defined", as
documented. Is there a way around this?
Just add the the "noise" property as another required one and don't
access "model" in the delegate. You can do that where you assign to the
"text" property. This way it doesn't require you
I agree with the doc for the "first level" of properties, but is it also
by design even if the required properties are in a sub item, as in my
2nd example (where the delegate itself doesn't have any required
properties)? It is this case that seems a bug to me.
Indeed that is a bug. Thanks for
Thanks for pointing this out!
.import QtQml 2.15 as CoreQML
console.log(CoreQML.Qt.Checked)
yields:
At line 2: ReferenceError: CoreQML is not defined
Is that something I should report as a bug? I'd appreciate any other potential
workarounds.
The .import dance as shown above
This is very promising, but unfortunately I could only get it to work
with QJSEngine and not with QQmlEngine. With the latter, the Qt
object stubbornly still only provides various functions.
Indeed, in QQmlEngine the global object is frozen. You cannot replace
its properties. Apparently you can
Right, normally when evaluating a script, any error can be caught and reported however
you wish, but this does not work when the script execution is trigger through a signal
connection. In this case, when using QJSEngine, errors are always printed to the standard
out, whereas the QQmlEngine all
I think Andre's point is that you should not use Qt containers for such
large amounts of data, but rather some other data structure better
suited for your case (most trivially, std::vector instead of QList).
The implicit sharing of Qt containers is a nice trait that enables you
to write more c
I'm working with localization of dates. There is a standard JS API:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString#Using_options
But QML defines it's own Date:
http://doc.qt.io/qt-5/qml-qtqml-date.html
The difference being the MDN refers to
QJSValue result = qmlEngine.evaluate(item.m_expression.sourceCode());
I guess you are mostly profiling the JIT compiling, not the actual evaluation.
In order to get realistic results you should keep the compiled representation
of the expression around, e.g. as a JS function. From the docs:
Q
The usage scenario fits my needs, that is the reason to evaluate exactly this
way.
I mean - should the QScriptEngine be deprecated, the QQmlEngine/QJSEngine
should also have ways to utilize some form of JIT/preparse. Even in the first
pass where JIT cannot be effective (or when I parse just
QJSEngine does not cache the compilation results if you just pass in plain
strings. I also don't think QScriptEngine can do this here (but I haven't
checked). QScriptEngine might be clever enough to automatically use the
interpreter rather than JIT-compiling such small expressions. You can se
Looking at the source of qt, the problem is identical(though it is protected
against runaway exceptions). The MinGw debug plugins of qtquick are quite large
and use the same mechanism to load plugins. If, as in my case, the
initialization of the program allocates considerable memory ( but tbh
Connections|{|
||target|: stateMachine|
|onEventOccurred: {|
|console.|log|(event.name)|
|}|
|}|
From QML you should use the EventConnection QML type. About like this:
EventConnection {
stateMachine: stateMachine
events: ["done.state.*"] // or ["done.state.somespecificst
Hello Wolf,
Thanks for trying the SCXML editor. Your feedback is appreciated.
I have tried out the SCXML editor plugin for the QtCreator. My first
impression is very positive. The editor creates nicely looking state
chart diagrams. There are only two downsides I have found so far:
1. Events ar
Hi Nils,
> I have read that QML offers a binary debug protocol that is used by
> several tools to to gain insights into QML applications. I read about
> this interface here: http://doc.qt.io/qt-5/qtquick-debugging.html
> It is stated that: "The Qt QML module provides services for debugging,
> i
Hi René,
> In JS libs before 5.12, I've always used a closure approach to not
> leak a bunch of private variables onto the global module object. This
> results in a layout much like so:
>
> (function(lib) {
> ... closed vars can be declared here ...
>
> lib.bar = function() {
> return "b
Hello,
> If I create a class with a QQmlListProperty and then initialise it with
> an array in some QML file, then subclass the QML type in a second QML
> file and try to override the array there, when creating an instance of
> the child class, the list contains the arrays concatenated instead
> Cheap hack #1: assign both fields new values once validated, say "*"
> and force screen update before navigating away.
No. Strings are immutable in QML (and JavaScript). The old string will
still be in memory at that point. And no, it's not a QString.
const-casting and overwriting from C+
Hi,
> Just in case if someone will be looking for solution - I've managed to
> eliminate all the sensitive data from memory on closing particular QML
> screen without sacrificing existing architecture. The secret is pretty
> simple: just avoid situations when QString-s gets copied into JS
> string
> But still: Why has the behavior been (apparently) changed at all in the
> first place? Or is it a bug after all?
It does sound like a bug. Can you please open a bug report at
https://bugreports.qt.io ? I would like to know
* What is the last version of Qt your example worked correctly with?
> Stepping into -O2 builds (-O3 for QtCore and QtGui) is painful at best. The
> debug information we provide is not usable for more than getting backtraces to
> help the developer solving issues.
Stepping into optimized builds is kind of an annoyance but, at least for
me, it is much less of a pai
> I'm here watching Ulf's QtWS19 QML talk and had a thought... I might
> be dumb or crazy (either are equally likely) but, the other day I
> added a property called 'data' and completely broke my application.
> It was to store data I received. However QML also declares a property
> 'data' which is
Hi Jason,
you should open or find an existing bug report that describes your
problem and notify me about it. Then we have a more persistent place to
discuss this, and someone might feel inclined to fix it. Also, I'm
always happy to accept patches and I can give advice on how to navigate
the c
Is there a way to set a QJSValue as a context property in QQmlContext and
retain function properties?
You should not do this. Context properties are invisible to any tooling
or static analysis of your QML code and add significant complication to
the name lookup logic. The fact that you can inj
I am not loading QML documents at all nor do I need QML tooling here. This
is pure JS. I have a bunch of JS code snippets to evaluate. The snippets
expect certain properties to exist, but they do not necessarily share the
same context. Some of them do though.
OK, that does paint a different pict
It is sad to see people miss the necessity for hardware accelerated UI
that QML addresses; Qt widgets backing onto QPainter was extremely
problematic to accelerate and the Qt company addressed this with
scenegraph/QML.
It's actually QtQuick that implements the scene grah and provides
accelerate
- Allow QML to access public properties of classes, even if these public
properties do not use `Q_PROPERTY`
- Allow QML access to classes that are neither `QObject`, nor `QGadget`
This is not planned right now. Note that we rely on moc to generate the
class descriptions that QML uses. Therefor
Will Qt 6 still use the Meta information to access Qml properties or
it rely more on compiled C++ now? I guess it still the same as
before. Is the properties declaration of Qt for MCU (Qml lite or
soemthign like that) be available (syntax wise, template)? That would
leverage soo much redundent cod
On 9/14/20 5:29 PM, Jérôme Godbout wrote:
Oh,... now that's a deal breaker... I guess I will have to stick with
the old method for a while, having 1 plugins per modules to be expose
will need some major refactor over here. I have subrepos who have a
single .pri and might expose a few modules and
You can also phrase your modules as C++-only static libraries and
link them all together into the application. - That will depends on
which C++ library your modules depends on. Not all code can be
legally made static, this restriction, seem rather short sighted.
Hope they change this.
Well, yes,
debug
server built in and whenever you start it with the right arguments or call
QQmlDebuggingEnabler::startTcpServer() it will open a debug port and accept
connections from anywhere. With a dynamically linked Qt you have the option to
delete the plugin in order to prevent this.
regards,
--
Ulf
he
qmldbg_tcp plugin in the .pro file, as that contains the implementation of
QTcpServerConnection. Unless, of course, you don't want to do any QML debugging
and profiling. In that case you should stick to -DQT_QML_NO_DEBUGGER.
--
Ulf Hermann, Software Engineer | The Qt Company
The Qt Company GmbH
s/Qt/5.4/clang_32_static/qml/QtQuick/Window.2/libwindowplugin.a
> LIBS +=
> /Users/nsantos/Qt/5.4/clang_32_static/qml/QtQuick/Controls/libqtquickcontrolsplugin.a
Apparently you've put some important plugins here. You could try adding the
qmldbg_tcp one here, too.
--
Ulf Hermann,
On 06/01/2015 06:10 PM, Thiago Macieira wrote:
> On Monday 01 June 2015 15:01:14 Ulf Hermann wrote:
>> You probably have to add the following somewhere:
>>
>> LIBS += /path/to/libqmldbg_tcp.a
>
> but like I said, he shouldn't have to. That's a bug in QtQml that
Hello,
I had a somewhat similar, but not quite the same problem when building the
timeline view for the QML profiler in Qt Creator. It's currently usable with up
to about 1 million events in the timeline and you can zoom and scroll it. There
might be potential for further optimization. I used
Hello,
[...]
EventConnection {
stateMachine: p.stateMachine
events: ["done.state.Leave"]
onOccurred: {
console.log("done: " + event.name + " [" + event.data + "]")
}
}
[...]
done.state.* events are internal. You can expos
Another alternative of course is to use some other client-server protocol such
that only the “model” of MVC is on the server, and UI rendering instructions
are sent across the network instead of actual rendered graphics. For example
load QML over the network and run it locally. For some rea
ps: i had a chat with a mozilla developer some time ago: they never use
desktop opengl on windows, but only use ANGLE with a fallback to
software rendering, if the application crashes on customer's machines.
You can force Qt to use Angle by setting the QT_OPENGL environment
variable to QT_OPENG
On 08/11/2017 04:48 PM, Alexander Ivash wrote:
> On launching debugger I see 'QML debugging is enabled. Only use this in a
> safe environment.' but don't see 'Waiting for connnection...', so it
> looks line debugger is not completely initialized.
Does your application do anything complicated befo
On 08/11/2017 05:01 PM, Alexander Ivash wrote:
> But then way don't I see 'waiting for connection... ' ?
Because it only starts waiting for connections once a QML engine exists. Before
that there is nothing to debug anyway.
> Also, If what you say is true, then is it possible to increase this t
> 1. I use scxml compiler and expose compiled machine to Qt Quick.
> 2. I use ecmascript as datamodel type. I create data entries in *.scxml file.
> 3. I need to repeat those values on Qt Quick side and assign to
> StateMachine.initialValues so that they will be reset everytime machine
> starts -
What needs to be done to get rid of this assertion (is it possible at
all or QmlDebugger is always expect single QQmlEngine? )
You can have multiple QML engines attached to the debugger, but the
current assumption is indeed that they all live in the GUI thread. This
can probably be fixed, but
> In the example above, how would we get access to Event parameter for "state1"
> and "state5"?
You can access the event currently being processed via the data model. The
EcmaScript data model has a readonly property "_event" and the C++ data model
has a method scxmlEvent(). The null data model
> When I said "most machines are little-endian", I was referring to machines Qt
> runs on and, therefore, would use QDataStream. The fact that the default is
> big endian is short-sighted. It should default to little-endian.
We could change the default. All it takes is a new QDataStream::Version
or doesn't use qmlscene to run it. So, all of this rant is as
misplaced as it is unnecessary. The only thing that may be remotely relevant is
the comment about Ubuntu's testing practices, but the information we have here
is far from being conclusive on this being an actual problem.
On 07/23/2018 07:55 PM, Lisandro Damián Nicanor Pérez Meyer wrote:
> El lunes, 16 de julio de 2018 08:12:25 -03 Ulf Hermann escribió:
>> This thread has gone so far south, we need to add some corrections ...
> [snip]
>> So, it turns out I have another qmake (and qmlscene) in
Is there a way to not embed QML files into the Qt resource system when
using qt_add_qml_module() ?
We can only pre-compile files embedded into the resource file with
qmlcachegen. That's why we strongly recommend using the resource file
system. You can, of course still manually write your qmldi
I cannot use qmlpreview, as I usually need to have the full application
running.
You can run any application through QML preview. In Qt Creator (in
contrast to Qt Design Studio), the option is a bit hidden: There is a
"QML Preview" Option in the build menu. Use that to start the
application.
I did not know about that, it looks nice.
But... it does not work with my application, it gets stuck at "QML
Debugger: Connecting to socket"
You probably have to enable QML debugging and profiling in the build and
run settings.
___
Interest mailing
You probably have to enable QML debugging and profiling in the build
and run settings.
It is already, and it works.
I can set breakpoints in QML and it works as expected.
Can you try to construct a minimal example that reproduces the problem
and create a bug report?
One significant d
2. The app is primarily widgets, but we use QML inside QQuickView,
inside container widgets. So when the app starts 3 or 4 QML engines are
created.
That is a problem. The preview can only handle a single QML engine so
far. You should see the following error message:
" QML engines available.
Hi Filippo,
the equivalent to Q_OBJECT for value types is Q_GADGET. So, your data
structure would look like this:
struct DataPoint
{
Q_GADGET
Q_PROPERTY(double x MEMBER x)
Q_PROPERTY(double y MEMBER y)
public:
double x;
double y;
}
Now, depending on what you want to do wi
That is an intesting question because it somehow pin points something
that is
not clear to me. Perusing the documentation, I saw that QQmlEngine
derives from
QJSengine. I cannot figure out which is best to employ in my use case:
scripting a QtWidgets C++ application. Can I use QML as a scripting
I think that QML/JS is not viable for scripting of QtWidgets since
public functions are not available when registering Qt classes as
types (only slots and Q_INVOKABLE functions next to properties).
Without the public class functions only very basic functionality is
exposed to the scripting engine.
list(APPEND QML_FILES
resources/qml/Browser.qml
resources/qml/BrowserBank.qml
resources/qml/BrowserButton.qml
…
Are there more files called "Browser.qml" in the same module? That
doesn't work. Your QML components need unique names.
Or is there some qt_target_qml_sources()
Warning: QtQuick.Controls uses optional imports which are not supported.
Some types might not be found.
This is not an error but a warning. Indeed the compiler will not compile
your code to C++ because it doesn't know which of the optional imports
(ie styles) will be active at run time. You ca
- Have an option to disable the warning for those who want to support multiple styles in
one executable (but still want compilation outside of controls). You said it is possible
to "disable the compilation for this specific file", but I'm not sure if that's
the same thing as disabling the warni
With the following approach two libs are created:
libshared.a and libsharedplugin.a
I just want to have a single target called libshared.a with all the qml
resources embedded.
You can add NO_PLUGIN to your qt_add_qml_module, but be warned: The
linker will be clever and omit your type regi
If you state STATIC in qt_add_qml_module (without a qt_add_library or
similar that makes it dynamic) and then it builds a dynamic library,
that's a bug. Please file a report at https://bugreports.qt-project.org
with a minimal reproducer and state the version of Qt you are using.
If it does bui
I will try to reproduce the problem basing myself on this. In case I
need to submit a bug report what is the category?
Add "build system: CMake" and "QML tooling".
___
Interest mailing list
Interest@qt-project.org
https://lists.qt-project.org/listinfo/
1 - 100 of 151 matches
Mail list logo