Re: [Python-ideas] A GUI for beginners and experts alike (Mike Barnett)

Have you looked at PySide2? It's the latest Python wrapper for the QT cross platform GUI framework. A graphical "hello world" in QT is only half a dozen or less lines of code in total, so meets the simplicity requirement. The big drawback of QT for Python until now has been building the thing, but now it's on PyPI so "pip install" (should) Just Work. -- cheers, Hugh Fisher

Or indeed PyQt5 that works great as a Qt python interface. Last time I looked PySide2 had a lot of catching up to do to match PyQt's API coverage.
I think 2 lines is simple, 12 is not really simple, is it?
You may have needed to build pySide2 yourself, however PyQt4 and PyQt5 have been pip installable for a long time. pip install PyQt5 Barry

On Fri, Aug 24, 2018 at 8:17 AM, Barry Scott <barry@barrys-emacs.org> wrote:
well, if all you need is a single dialog box with one or two entry fields, then yes, 2-4 lines is better than 12-14 lines -- but a lot. But if you are building an actual application, I'm not sure that the extra ten lines of startup code matters at all. And if those ten lines are essentially boilerplate that you can copy and paste from somewhere (Or have a gui-builder write for you), then even less so. That's not to say that the GUI toolkit slike wxPython, PySide, pyGTK aren't a bit more complex than they need to be, but much of that complex is there to support complex needs. I do think there is a place for tools that make "the easy stuff easy", but make sure that the complex stuff is still possible. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker@noaa.gov

Accessibility is a very real advantage of Qt solutions. http://doc.qt.io/qt-5/accessible.html """ [...] applications usable for people with different abilities. It is important to take different people's needs into account, for example, in case of low vision, hearing, dexterity, or cognitive problems. Some examples of accessibility measures are keyboard shortcuts, a high-contrast user interface that uses specially selected colors and fonts, or support for assistive tools such as screen readers and braille displays. A basic checklist that any application should aim for: - Usability - Usability and user centric design generally lead to more usable applications, including improvements for people with various abilities. - Fonts - Font settings should follow the system/platform. This allows users to select fonts for readability and increasing the font size. - Colors - Provide enough contrast and consider the most common cases of low vision and color blindness. Make sure that the application is usable, for example, for people with red/green blindness, and don't depend on colors only. - Scalable UI - A user interface that works in various sizes and properly supports different fonts and accommodates size changes. - Sounds - Do not exclusively rely on sound notifications, provide a visual alternative when a sound signal is imperative to using the application. - Spelling - Offer spell checking wherever it makes sense, even when only a single word is expected. - Assistive Technology - Support the use of assistive tools (AT). Either use standard widgets/controls which support ATs out of the box, or make sure that your custom widgets and controls support accessibility properly. """ Does anyone have any experience with building accessible native GUI apps with something other than Qt? Most of this a11y (accessibility) information is focused on web apps (that don't need an installer/updater to quickly respond to security issues): https://github.com/brunopulis/awesome-a11y On Friday, August 24, 2018, Chris Barker via Python-ideas < python-ideas@python.org> wrote:

Or indeed PyQt5 that works great as a Qt python interface. Last time I looked PySide2 had a lot of catching up to do to match PyQt's API coverage.
I think 2 lines is simple, 12 is not really simple, is it?
You may have needed to build pySide2 yourself, however PyQt4 and PyQt5 have been pip installable for a long time. pip install PyQt5 Barry

On Fri, Aug 24, 2018 at 8:17 AM, Barry Scott <barry@barrys-emacs.org> wrote:
well, if all you need is a single dialog box with one or two entry fields, then yes, 2-4 lines is better than 12-14 lines -- but a lot. But if you are building an actual application, I'm not sure that the extra ten lines of startup code matters at all. And if those ten lines are essentially boilerplate that you can copy and paste from somewhere (Or have a gui-builder write for you), then even less so. That's not to say that the GUI toolkit slike wxPython, PySide, pyGTK aren't a bit more complex than they need to be, but much of that complex is there to support complex needs. I do think there is a place for tools that make "the easy stuff easy", but make sure that the complex stuff is still possible. -CHB -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception Chris.Barker@noaa.gov

Accessibility is a very real advantage of Qt solutions. http://doc.qt.io/qt-5/accessible.html """ [...] applications usable for people with different abilities. It is important to take different people's needs into account, for example, in case of low vision, hearing, dexterity, or cognitive problems. Some examples of accessibility measures are keyboard shortcuts, a high-contrast user interface that uses specially selected colors and fonts, or support for assistive tools such as screen readers and braille displays. A basic checklist that any application should aim for: - Usability - Usability and user centric design generally lead to more usable applications, including improvements for people with various abilities. - Fonts - Font settings should follow the system/platform. This allows users to select fonts for readability and increasing the font size. - Colors - Provide enough contrast and consider the most common cases of low vision and color blindness. Make sure that the application is usable, for example, for people with red/green blindness, and don't depend on colors only. - Scalable UI - A user interface that works in various sizes and properly supports different fonts and accommodates size changes. - Sounds - Do not exclusively rely on sound notifications, provide a visual alternative when a sound signal is imperative to using the application. - Spelling - Offer spell checking wherever it makes sense, even when only a single word is expected. - Assistive Technology - Support the use of assistive tools (AT). Either use standard widgets/controls which support ATs out of the box, or make sure that your custom widgets and controls support accessibility properly. """ Does anyone have any experience with building accessible native GUI apps with something other than Qt? Most of this a11y (accessibility) information is focused on web apps (that don't need an installer/updater to quickly respond to security issues): https://github.com/brunopulis/awesome-a11y On Friday, August 24, 2018, Chris Barker via Python-ideas < python-ideas@python.org> wrote:
participants (4)
-
Barry Scott
-
Chris Barker
-
Hugh Fisher
-
Wes Turner