[Interest] Roadmap for Qt Widget Styles. WindowsVista? Fusion? Other?

Giuseppe D'Angelo giuseppe.dangelo at kdab.com
Thu Oct 27 01:16:42 CEST 2016


Hi,

a few (non authoritative) answers:

Il 26/10/2016 20:10, Phil Weinstein ha scritto:
> It would be helpful for us to know the Qt development community's
> thinking about *the future of Qt widget styles.*  Is, and will Fusion
> continue to be the (or a) favored widget style for the foreseeable future? 

Native widgets styles are fully supported, and will be supported as long
as widgets themselves are supported (read: likely forever). The ability
of native look and feel is a critical feature of widgets.

What may change in the future is

1) which styles exactly are supported in a given Qt release (in 10
years, will the Windows Vista style still make sense?);

2) which features you can expect. For instance, on Windows, there are
currently problems when using the native style on a scaled application
on a high DPI screen (AFAIR, due to native API limitations). In those
scenarios, Fusion is recommended (at least for now).

Anyhow: we'll strive to keep all the styles fully functional on the
respective platforms.


> *Our context: * We are very late in the game porting our huge Qt 4.8.5
> application to Qt 5.  We can't easily move beyond Qt 5.5.1 because we
> are using QWebKit (including HTML-DOM API provisions, which are not
> available, nor readily possible in QWebEngine, being that the document
> "lives" in a separate process, as I understand). 

By the way, you could also try upgrade to 5.6 and use QtWebKit there (if
you can't make the jump to 5.7 yet because of your compiler requirements).

QtWebKit in 5.6 is not officially supported, but AFAIK it's the same
code you would also get in 5.5.1 (others may confirm this). You just
need to compile it from sources.

And, by the way, 5.5.1 is an unsupported release anyhow, so if you can
move to 5.6 you'd at least get the benefits of using a supported release
of Qt (for the non-webkit parts).


> 
> All of our documentation currently uses the *WindowsVista* style, BUT WE
> ARE SEEING BUGGY QTreeWidget visuals in Qt 5.5.1 (we tried also Qt
> 5.4.2. Same).
> 
> Specifically we are seeing this first bug, which was reported only in Qt
> 5.6 and addressed in Qt 5.6.1 (under the second related bug).
> 
>   * *QTBUG-51799:* QTreeView on Windows: Artifacts when hovering/selecting
>     https://bugreports.qt.io/browse/QTBUG-51799
>      
>   * *QTBUG-52230:* The style of the QTreeView component get's screwed up
>     https://bugreports.qt.io/browse/QTBUG-52230
> 
>     More info: There is also sub-optimal highlighting (even with some
>     artifacts left over) in item selection ornamentation.  That, and the
>     tree open-close control's "hover" problem (and changing from
>     triangles to +/-) don't always show up right away, but only after a
>     certain amount of exercising QTreeWidgets.  (We're seeing this in Qt
>     5.4.2 and Qt 5.5.1).

Those two bugs are actually duplicates; anyhow, both are already fixed
in a released version of Qt (5.6.1).

For development bandwidth reasons we cannot backport bugfixes in all the
versions affected by the bugs (unless we're talking about very critical
bugs, such as ones involving security issues, dangers of data loss, etc.).

Patches for ordinary bugs land in the currently open stable branch (and
they get forward merged automatically in the development branches,
etc.). At the time of the fix for those bugs, the stable branch was 5.6,
and 5.5 was already closed. That's why they landed only in 5.6.


> 
> It looks like _some things_ were done in 5.6 itself to attempt to
> address WindowsVista style problems.  We've attempted to apply those
> changes (including those resulting from the QTBUG-52230 fix) to Qt
> 5.5.1, but that became too complicated before we even achieved the
> desired result.
> 
> SO, we are thinking of taking the dive in switching from WindowsVista to
> Fusion.  But we'd first like to get an indication of how long that style
> will be recommended and well supported.

Of course you'll need to weight your pro and cons for such a move. As I
said, that style is fully supported. On the other hand, consider that
there are many companies and individuals (I won't name any, I swear --
not trying to spam here) that can offer you professional development
support in case you want that bugfix backported to 5.5.1.


Regards,
-- 
Giuseppe D'Angelo | giuseppe.dangelo at kdab.com | Senior Software Engineer
KDAB (UK) Ltd., a KDAB Group company | Tel: UK +44-1625-809908
KDAB - Qt, C++ and OpenGL Experts

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4007 bytes
Desc: Firma crittografica S/MIME
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20161027/d00357c9/attachment.bin>


More information about the Interest mailing list