GUI: I am also looking for a nudge into the best (GUI) direction.

Igor Korot ikorot01 at gmail.com
Thu Oct 29 14:30:14 EDT 2020


Hi,

On Thu, Oct 29, 2020 at 11:33 AM flaskee via Python-list
<python-list at python.org> wrote:
>
> Hello!
>
> I've been reading the GUI toolkit posts.
>
> If anyone can give me a push in the right python direction on
> my needs, I'd be grateful.
>
> This is for business applications, not games.
> (but if a game toolkit fits...)
>
> I'm coming from Actionscript,
> where there is a lot of GUI flexibility.
>
> The Python toolkits that I've looked at feel mostly grid-oriented
> or zone-oriented (you can put the button on the left, or middle,
> or right, etc).

I don't think it is easily possible in a cross-platform environment.
But even if your software is one platform only how will you handle
DPI change, theme change and other system changes?

You will have to have some kind of layout system.

>
> I am 100% committed to using Python now;
> so I just want to see what toolkit(s)/pieces/frameworks
> will get me as much of the following as possible.
>
> What I'd like:
>
> * To target MacOS, Windows, Linux, Android using native widgets (this drops out Kivy).

See my previous reply.

>
> * To get the screen-size before loading anything else, and to resize controls & forms to have the same as aspect ratio across screen sizes. In actionscript you can say form.scale *= 1.5; and the form and ALL children resize appropriately with that one line.

You are overthinking it.
What if the window will be positioned on half normal DPI screen and
half on HighDPI one?
Or there was a theme change with the start of your software?

As I said you absolutely have to have some kind of layout system or
end up having 100 copies of
same window prepared for a different layouts.

Just accept that there are different layouts available for you that
will handle every possible situation.

>
> * To resize a control/widget and be able to easily move it later. Needed for the following point.
>
> * To handle portrait vs landscape rotation.
> I'm okay on the logic of resizing and repositioning controls accordingly [if the facility to do so exists].

You mean positioning controls on the screen with portrait vs
landscape? Or during printing?
Please clarify.

>
> * Touch events, like swiping, pinch-to-resize, etc.
>
> BeeWare (Toga) has some of this, but BeeWare seems "under-developed" and
> it is not even listed on any of the Python GUI comparison sites
> that I've seen.
>
> I just don't want to go too far down the wrong path, if you good folks can help.
>
> Right now I am plugging away on Gtk to see where that takes me.

As being said GTK does not use native widgets.

>
> Thank you for your help in advance!

If you have any further questions you can contact me directly.
Thank you.

>
> Sent with [ProtonMail](https://protonmail.com) Secure Email.
> --
> https://mail.python.org/mailman/listinfo/python-list


More information about the Python-list mailing list