Live data from Hacker News

Guietta – Python module to create simple GUIs

github.com

121–130 of 166 posts

Re: Guietta – Python module to create simple GUIs

#121
I once made a simple little GUI generator based on effbot's "Generating Tkinter User Interfaces from XML"[1][2]. I added a tiny parser (written with SPARK[3]) that converted a simple DSL to XML (technically an ElementTree object, the actual XML isn't serialized/emitted at any point) which is then "realized" as a tree of Tkinter widgets with event callbacks.

[1] https://www.effbot.org/zone/element-tkinter.htm

[2] https://github.com/calroc/pygoo

[3] http://pages.cpsc.ucalgary.ca/~aycock/spark/ "Scanning, Parsing, and Rewriting Kit"

Re: Guietta – Python module to create simple GUIs

#123
post #43

Earlier quoted context omitted.

I personally think the real reason those types of tools seem less common and popular today is that people remember for example the reputation that Visual Basic programmers got (by the way, I was one). Basically, any really convenient RAD/GUI tool has an association with beginner programmers or even users. The last thing programmers want to be identified with is a user. Programming is manipulating cryptic colorful tex…

I believe that reframing the matter in terms of user empowerment might be the way forward. To create tools that help casual users accomplish tasks they might otherwise have needed a programmer for is to empower users. Excel is a classic example of user empowering software, as it allows people with the self-image of "user, not programmer" to effectively write programs, even if they may not recognize it as such. I thin…

I sell sharp knives as "surgeon empowerment" devices. Anyone can surg!

Re: Guietta – Python module to create simple GUIs

#124

Slightly off topic: Does somebody have a recommendation of a toolkit or library for simple data entry and display with Python? Basically I want to replace Excel/Calc for mostly tabular data, because I hate the programming and data access model (e.g. instead of writing B$8 or sum(A9:A23) I would like to have map/reduce function with reasonable variable names). But the presentation and entry speed is much better with s…

Jupyter notebook with pandas DataFrame

Re: Guietta – Python module to create simple GUIs

#127
post #5

Earlier quoted context omitted.

You don't even have to go back that far. XAML and C# developed with Visual Studio and Expression Blend is a fantastic experience, it almost makes me wish Silverlight was still around.

It's much heavier than what we had with Delphi/VB, it feels like wading through treacle in comparison.

WinForms in Visual Studio is fast enough, but working with WPF and XAML certainly used to be painfully, painfully slow! Visual Studio would grind to a halt and memory usage would go through the roof.

In fairness, I haven't done any Windows desktop development for some time, so the XAML designer might be less crap nowadays.

Re: Guietta – Python module to create simple GUIs

#128

Earlier quoted context omitted.

Actually I started to develop Guietta exactly because using the QT GUI builder (Qt designer) was often too time consuming for simple applications. Designer works great for GUIs with complex layouts. Having an intermediate XML representation puts a lot of distance between your code and your GUI. Sometimes this is good, other times is not. I rant a bit about this at the start of the introduction: https://guietta.readth…

Delphi wasn't like that. There'a a gap a mile wide between 1) tools like Delphi, VisualBasic (the classic version, not .net), and to some extent, HyperCard 2) GUI builders, which were popularized by Visual C++ #1 doesn't have (visible) layers or abstractions. It's a different way to represent your program. You place a few controls, tie them to actions (code), and that's your system. #2 is like onions, with lots of me…

There is one GUI builder in Java I forgot the name, a plugin for Eclipse from Google, that allows to build GUI by drag and drop and jump into the code. It works directly by reading and writing any java code file, there are no extra files and layers of abstraction. It could understand Swing, SWT and a couple other major UI frameworks.

That's the only thing I know that's really seamless like old times.

Re: Guietta – Python module to create simple GUIs

#129

Earlier quoted context omitted.

I believe that reframing the matter in terms of user empowerment might be the way forward. To create tools that help casual users accomplish tasks they might otherwise have needed a programmer for is to empower users. Excel is a classic example of user empowering software, as it allows people with the self-image of "user, not programmer" to effectively write programs, even if they may not recognize it as such. I thin…

I sell sharp knives as "surgeon empowerment" devices. Anyone can surg!

If your point is that some tools should be kept from people because they might cut themselves, then I think it's worth mentioning that scalpels are not generally sharper than other knifes that are available to the public. (Joerg Sprave has decent video debunking many scalpel myths: https://www.youtube.com/watch?v=vHTHqWcDaQ8) Furthermore scalpels are generally available to the public too: https://www.amazon.com/s/?field-keywords=scalpel

Analogously, the tools already available to computer users are tools that could harm the user if used improperly. To not empower users because they might harm themselves isn't progressive, it's paternalistic.

Re: Guietta – Python module to create simple GUIs

#130

Earlier quoted context omitted.

Delphi wasn't like that. There'a a gap a mile wide between 1) tools like Delphi, VisualBasic (the classic version, not .net), and to some extent, HyperCard 2) GUI builders, which were popularized by Visual C++ #1 doesn't have (visible) layers or abstractions. It's a different way to represent your program. You place a few controls, tie them to actions (code), and that's your system. #2 is like onions, with lots of me…

It's been a while (I've never done autolayout and up) but I found Xcode Interface Builder to work in the fashion you describe. Probably not an accident as it descends from NeXT devtools which inspired e.g. VB (not sure about Delphi).

How well would these tools have worked with source control? Interface builder effectively uses XML files, but they are not meant to be edited/understood by humans. This effectively hides a layer of the "onion", but it makes it tricky to follow changes checked into VCS...
Post reply on HN