community icon indicating copy to clipboard operation
community copied to clipboard

TRON like procedural vector UI components

Open cederom opened this issue 2 years ago • 6 comments

Is your feature request related to a problem? Please describe. Currently UI components does not look really attractive to end users. Most people will, unfortunately, assess the application by its look. After getting into Kivy internals I can more and more understand reasons behind current design.

Describe the solution you'd like When components are rendered directly with OpenGL it may be worth turning into a procedural vector UI generation. This would scale perfectly no matter what display size / resolution/ dpi resulting in high quality TRON-like-UI (kind of Sci-Fi movies). Also such components could provide high-level access and functions like these known from FLTK, Qt, GTK, etc.

Describe alternatives you've considered I got the idea to use some minimalistic but good looking library (LVGL) to implement UI components before I got into an idea of native procedural components library.

Additional context

  • Is there any sort of UI components library already available built on top of Kivy primitives like Calendar / Agenda?
  • What could be performance impact of such nice looking UI components? What are dangers?

cederom avatar Aug 01 '22 20:08 cederom

That would be trivial if Kivy supported vector graphics like SVG.. does it?

cederom avatar Aug 01 '22 21:08 cederom

Kivy has support for SVG as a canvas instruction, though it's not perfect, it's good enough for many things. But kivy itself uses vector like functions to draw, so if you don't want to use textures, but only instructions, you are entirely free to do so, with or without SVG.

tshirtman avatar Aug 01 '22 23:08 tshirtman

Thank you @tshirtman :-) Which one of these would be faster? SVG or Vector Python Instructions? :-)

I really start to like Kivy :-) :-)

cederom avatar Aug 01 '22 23:08 cederom

You may try kivyMD - material design library built on top of kivy, bu tit is slower than kivy in performance. It includes calendar as well. You may also use kivycalendar which you may find primitive but it works just fine.

drahba avatar Aug 14 '22 21:08 drahba

Thank you @drahba :-) Yesterday I also heard about kivyMD on the mailing list.. so I will give it a try :-) Do you know the downsides and performance impact of the kivyMD? Definitely a large good looking library of components for rapid mobile development is what I need right now.. especially I have wasted too much time for JS bullshit and will never come back there again.. I guess Kivy even with MD would be faster, more versatile, and most of all possible to maintain :-)

cederom avatar Aug 14 '22 22:08 cederom

Allright, so the switch to KivyMD is trivial and gives me all I need, Thank You! :-)

Still, I think that SVG instead PNG (or as option) as basic graphics primitives in pure Kivy would result in far better graphics quality and first-contact perception :-)

Except for components quality independent of display size and dpi it should have smaller footprints and it can be animated + scripted :-)

cederom avatar Aug 15 '22 01:08 cederom

👋 We use the issue tracker exclusively for bug reports and feature requests. However, this issue appears to be a support request. Please use our support channels to get help with the project.

If you're having trouble installing Kivy, make sure to check out the installation docs for Windows, Linux and macOS.

Let us know if this comment was made in error, and we'll be happy to reopen the issue.

github-actions[bot] avatar Oct 31 '23 04:10 github-actions[bot]