17.10.2017, 15:05, "Shawn Rutledge" <[email protected]>: >> On 14 Oct 2017, at 09:33, iman ahmadvand <[email protected]> wrote: >> >> Hi everyone. >> >> Before I send some code base on codereview and decide whether my >> implementation meets the requirements, I just want to know your thoughts >> about design decision for the new module I’m trying to add to Qt Play ground. >> >> So as you probably guessed my plan is to developing a new widget module >> (which I’m going to name it MaterialWidgets) for Qt, a modern collection of >> widgets that should have the same look and feel on all platforms. All the >> GUI parameters and styles are taken from material style guide >> line(https://material.io/guidelines). You can think of MaterialWidgets as >> the MaterialStyle in QML design but in pure C++. >> >> Here is a few things to clarify: >> 1.Why someone need to use material styled widgets in Qt? >> There are a bunch of app out there that need this to be available on >> widgets so they can easily take the benefit of newly added widget set. >> >> 2.Why a new widget set? why just no to use already built-in styles? >> Material widgets are going to be a special set of controls which has >> animations by default, > > Animations need to be done on the GPU, IMO, and the scene graph is a fine > vehicle for that. If you are thinking of doing animations on the CPU with > QPainter, I think that is a waste of CPU cycles, and you might have trouble > making it smooth enough anyway.
BTW in Qt 4 times QPixmap was accelerated on some platforms, so it was possible to make such widget animations fast... > > And that is one reason (among others) I think it’s a good idea to stabilize > the scene graph API with the goal of eventually making it public: we could > try to build a widget style which uses the scene graph for rendering. > (Disclaimer: I haven’t tried, and probably widgets would need a lot of > re-architecting to standardize that way of styling. But wouldn’t it be nice?) > >> and GUI parameters are differs from built-in QtWidgets. for an example >> material style has a component called ContinuousSlider which has two sub >> component Thumb and Track and two state On(value == 0) and Off(value != 0) >> and a color palette for each state, so doing this with styles can't be done >> unless we change the enumerators and maybe more! > > Maybe it’s still worthwhile to try though, and see just how much API change > is really needed. > > QSS exposes the ability to style sub-components which aren’t otherwise > exposed in the API, after all. (These pages explain it a bit: > > http://doc.qt.io/qt-5/style-reference.html#sliders > > http://doc.qt.io/qt-5/stylesheet-reference.html > > http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qslider ) > > _______________________________________________ > Development mailing list > [email protected] > http://lists.qt-project.org/mailman/listinfo/development -- Regards, Konstantin _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
