Remix.run Logo
DrewADesign 15 hours ago

After years of admonition discouraging me, I’m using Python for a Windows GUI app over my usual C#/MAUI. I’m much more familiar with Python and the whole VS ecosystem is just so heavy for lightweight tasks. I started with tkinter but found it super clunky for interactions I needed heavily, like on field change, but learning QT seemed like more of a lift than I was interested in. (Maybe a skill issue on both fronts?) Grabbed wxglade and drag-and-dropped an interface with wxpython that only has one external dependency installable with pip, is way more convenient than writing xaml by hand, and ergonomically feels pretty pythonic compared to QT. Glad to see more work going into the windows runtime because I’ll probably be leaning on it more.

pjmlp 9 minutes ago | parent | next [-]

Well, using MAUI instead of Avalonia or Uno was the mistake.

ktm5j 10 hours ago | parent | prev | next [-]

I really like the Python + Qt/pyside combination. I can whip together a rough GUI using QtCreator and then write the app logic in Python super quickly.

DrewADesign 9 hours ago | parent [-]

I’m sure it would be a goto if I made gui apps more regularly, because it’s clearly the more robust solution. So far wxglade is great for a drag-and-drop designer and the code is just enough closer to the regular Python way of doing things that it’s one less thing to learn.

NetMageSCW 13 hours ago | parent | prev | next [-]

Depending on how important the GUI is to you, I would look into LINQPad for stuff that is scripting but too heavy.

DrewADesign 8 hours ago | parent [-]

Looks neat!

dima55 11 hours ago | parent | prev | next [-]

Look at pyfltk also. I haven't used the windows builds, but it's real nice on GNU/Linux.

halfcat 14 hours ago | parent | prev [-]

Wait until you see ImGui bindings for Python [1]. It’s immediate mode instead of retained mode like Tkinter/Qt/Wx. It might not be what you’d want if you’re shipping a thick client to customers, but for internal tooling it’s awesome.

    imgui.text(f"Counter = {counter}")
    if imgui.button("increment counter"):
        counter += 1

    _, name = imgui.input_text("Your name?", name)
    imgui.text(f"Hello {name}!")

[1] https://github.com/pthom/imgui_bundle
DrewADesign 9 hours ago | parent [-]

This looks like it would be perfect for the internal user that really just needs to run a shell script with options who’s in the “technical enough to follow instructions faithfully, not technical enough to comfortably/reliably use the command line” demographic.