W dniu 10.07.2019 o 10:46,
leigh.v....@googlemail.com pisze:
> What isn't very wise is using WxWidgets instead of Qt
From my point of view Qt is far from ideal C++ library:
- You can't write mobile apps in C++ - because they force to use vendor
lock QML (JavaScript style) language. WHEN I REALIZE THIS I DECIDE TO
SPLIT UP WITH QT!!!
- Broken properties: you declare them in C++ but you can use them only
in script languages
- Error handling by return value instead by exceptions.
- Broken classes created with rule: "Closed for modifications and close
for extendability" - so you can't make wrapers for stupid error tracking
to use comfortable exceptions (especially in SQL apps). This is mainly
due to lack virtual destructors and minor due to non virtual members in
most cases.
- Many classes are broken by design: you want to create fully featured
QTreeView? You should be prepared for writing 1000 lines of code to make
it. You want access function in QMenu which emulate key pressing - to
raise menu programmically?!? Forget about this idea!
- They claim Qt is modular == composed from many independent libraries,
but you can't even write modular programmer text editor with Qt: due to
broken QTextEdit: you can't define 2 syntax highlighter at the same time
- but it is expected from modular approach to create one plugin for
syntaxhighlighting, and other for spell checking. More: You can't attach
more that one object to QTextBlock (which store one line of code in
QTextEdit), this cause that it is impossible to have one plugin for
syntax highlighter and other for bookmarks (switchable marked places in
code - you can jump between them by hit keyboard shortcuts). So you can
have modular program with syntax highlighting or with bookmarks but not
at the same time!
- Communication with QWebEngine (JavaScript <-> C++) is piece of madman
solution.
To sum up: After selling Qt to Nokia things are going worse and worse. I
don't expect any significant improvement in approaching Qt 6. They don't
have the same philosophy as they have before Qt 4 (easy to use library
for writing apps in pure C++). How ever until Nokia days Qt has only
commercial license for commercial projects.