[Interest] What don't you like about Qt?

Jérôme Godbout jerome at bodycad.com
Tue Sep 20 22:21:12 CEST 2016


I could also add the enum exposition to Qml, would be nice to have them
inside their own name and a way to auto map int to string value. we always
have to it manually to convert back and forth for available string/int
value. an object that would wrap the enum and have the following properties:

C++ enum

enum TestEnum
{
  toto = 0,
  titi = 2
};

Qml exposition

TestEnum.toto -> return int
TestEnum.allKeys -> list of int
TestEnum.allNames -> list of string
TestEnum.keyNameMap -> QVariantMap<int, QString>()

That would save us many manual exposition and we could iterate on C++ enum
value easily


On Mon, Sep 19, 2016 at 4:03 PM, Jérôme Godbout <jerome at bodycad.com> wrote:

> For myself I would love to see those changes (mostly to Qml, the C++ part
> is fairly striaght forward and we mostly no more used QWidgets):
>
>
>    1. Ability to extend or declare basic type into Qml (not only
>    QObject), QQuaternion QMatrix4x4 functions are too limited and it's painful
>    to have a singleton to have those methods, would have been friendlier to
>    extend method on those objects. We would love to declare a vector4d plane
>    interface and the like.
>    2. Fix bugs (we have reported some bugs since 5.0 that are still
>    open), we are currently stuck into 5.5 because of a bug that appeared. We
>    had to create patch that are still needed for mouse scroll wheel behavior
>    since 5.3
>    3. QQmlListProperty and the like be more Javascript compatible (length
>    property as alias to count), so we can do typical Javascript Array method
>    on them. Also, using long item list is a pain when they do a clear and push
>    back every element back but 1 when removing an item from it!
>    4. Multiple Engine into a single application work as long as you don't
>    use any singleton into your qmldir, C++ you can create a singleton per
>    engine living into their own thread, since you get the ptr into argument
>    when the request arrive, but you have no control for the one into qmldir
>    and it seem like a lazy ignored the QQmlEngine* ptr that request it or the
>    thread into which it did happen.
>    5. qsTr() that can revaluate when the resource language is modified
>    and not having to make qsTr("myStr") + I18n.revaluate (singleton that we
>    trigger a change on the revaluate value when changing the languages so GUI
>    string get updated).
>    6. Clean up of base Application (QApplication, QGuiApplication...)
>    it's so confusing and still have to check what I need from time to time and
>    may end up with the wrong one that will only crash at run time when loading
>    the style of either one (when you mix Qml and QWidgets project you have to
>    change this after adding a single widget of a different type). We still
>    have a QWidget around for Tree View (because let's be thruthful, the Qml
>    TreeView s*** big time) and for Dock Window.
>
>
> On a positive note:
>
>    - I strongly welcome the new QtQuick Controls style, it was painful
>    and hard to skin everything into QtQuick.Controls 1 (I didn't had the
>    chance to play too much with it yet, stuck in 5.5 but this is great news)
>    - DPI independent and scaling. We start using it, cannot wait to
>    upgrade to benefit from it even more, we are .svg all the way already so
>    this will be great for high dpi screen.
>
> Great jobs from Qt team, they had a fast release to make sure they were
> present in the past few years with the mobile boom. But now, for one, I
> would welcome a little less features and more rock solid stuff.
>
> P.S: It could be nice to have a centralized source for 3rd party Qt/Qml
> module (maybe that's already exist I haven't check but it seem like we
> often reinvent the wheel for Qml Component).
>
> Good job,
> regards,
> Jerome
>
>
> On Mon, Sep 19, 2016 at 2:59 PM, Konstantin Tokarev <annulen at yandex.ru>
> wrote:
>
>>
>>
>> 19.09.2016, 21:54, "André Pönitz" <apoenitz at t-online.de>:
>> > On Sat, Sep 17, 2016 at 09:20:43PM +0100, Sérgio Martins wrote:
>> >>  Hi,
>> >>
>> >>  It's not unusual for us developers and contributors to lose
>> >>  perspective of what's important.
>> >>  After many years spent on very particular implementation details, it
>> >>  becomes difficult to see outside of the box.
>> >>
>> >>  And because we already know the good aspects I'm asking only about
>> the bad.
>> >>  No need to discuss or reach an agreement, just go ahead and enumerate
>> >>  what you don't like.
>> >>
>> >>  Personally, I don't know (too much time inside the box), but after
>> >>  googling these came up frequently:
>> >>
>> >>  - C++ is difficult, Qt lacks quality bindings for mainstream languages
>> >>  - moc (on build systems that don't automate this step)
>> >>  - FUD around licensing
>> >>
>> >>  Please state your top ones, even if it was already stated by someone
>> >>  else, so we have an idea about which ones matter more.
>> >
>> > On the technical side:
>> >
>> > #1: The very existence of *two* largely incompatible technology stacks.
>> >
>> > #2: Lack of full C++ access to the stack that currently receives most
>> > development attention.
>> >
>> > [repeat]
>> >
>> > #6: Mandatory(!) use of JavaScript in said stack, embedded(!) in a DSL,
>> > thwarting any claims of being "declarative" and any originally hoped-for
>> > benefits for tooling.
>>
>> 6a. Mandatory use of particular implementation of JavaScript in said stack
>>
>> >
>> > [#7: Incompatitible feature development for both stacks, would be a
>> > non-issue if #1 didn't exist]
>> >
>> > Andre'
>> >
>> > _______________________________________________
>> > Interest mailing list
>> > Interest at qt-project.org
>> > http://lists.qt-project.org/mailman/listinfo/interest
>>
>> --
>> Regards,
>> Konstantin
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160920/6bac6023/attachment.html>


More information about the Interest mailing list