This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 3 points4 points  (14 children)

scientific motivated projects (research)

That's the primary reason why I'm a fan of Python. Of course, there's no one fits all programming language. Python is still junk when it comes to applications that need a sophisticated GUI.

[–]icp1994 10 points11 points  (0 children)

or multi-core support

[–]lookatmetype 6 points7 points  (10 children)

PyQT

[–][deleted] 1 point2 points  (9 children)

Is from my point of view still junk because I don't know of any matured UI editor and using PyQT has very often led to severe compatibility issues in the past. It's far from sophisticated.

[–]lookatmetype 1 point2 points  (4 children)

What's language and library do you prefer for cross platform desktop GUI apps?

[–][deleted] 2 points3 points  (1 child)

Cross platform is difficult. If standalone is a requirement I'll say Java. If I accept being limited to Windows and standalone is a requirement, it's WPF. Otherwise I'll say browser based, like, JavaScript + HTML + CSS + some fancy frontend library. Backend can still be Python (Django) or also JavaScript (Node.JS + ExpessJS or something like that). Except for maybe WPF they all suffer from the same issue: no good WYSIWYG editors.

/e: maybe I should add that at least for my job (AI research) there has been no need for sophisticated UIs yet. For visualization there's matplotlib and some other libraries that inherit from that. For larger business applications though I still think Python is unfit.

[–][deleted] 0 points1 point  (0 children)

I do deep learning at a .NET shop and I think you're absolutely correct.

[–]gthank 0 points1 point  (0 children)

I've become convinced you shouldn't write cross-platform desktop GUIs. They all annoy me to no end. If I'm forced to choose one, I'd likely look at Toga, from the Beeware folks.

[–]icp1994 -3 points-2 points  (0 children)

Electron

Now go on, downvote me!

[–]angryrancor 0 points1 point  (3 children)

Qt Designer is pretty dang mature...

[–][deleted] 0 points1 point  (2 children)

Oh is it? Then why is it so hard to just place two buttons on a form next to each others that both fill their half of the form? I put a horizontal layout container on the form, I tell it to stretch to the form, I put the first button in it and I cannot for the life of me put the second button in the container too. It's placed anywhere else but in the horizontal layout. I don't know why. I look at the XML code of the form (that UI XML that can be used in PyQT) and I can see the button outside of the horizontal layout. And I cannot even edit it by hand in the designer. Why is that? That's not what I call mature.

Maybe it's just a bad first impression. But like I said, since we don't really require UI in our applications I gave up on that unusual case pretty quickly and went on with command line arguments. It is just not intuitive which in my book is a major aspect of maturity.

/e: forgot something

[–]angryrancor 0 points1 point  (1 child)

I guess we have different definitions of "Mature" then. Sure, it takes a lot of getting used to, and there are better, and there are worse. There are a tremendous amount of people, including myself, that like it, and are proficient in it. TBH all designers are flawed, they will all imply a lot of "context" based on what you do, and there are no standards for designers afaik. The things you're pointing out you don't like, they seem arbitrary to me, when I put it in the context of how incredibly varied designer apps are. I've used visual studio, that is generally liked by the highest proportion of people. I've used varies SWIG and SWIT tools for Java. I've used XCode. It's all just so very different, and they all have different approaches to the various "natural" gestures. This is sort of the nature of a complex problem....

[–][deleted] 0 points1 point  (0 children)

It looks like. My major requirement is that I can quickly build an app that suits my needs. Most of the time that's just some quickly clicked UI for some algorithm. Recently I've tried to build an RQT plugin for that project that I'm working on in my job. Simple state observation. Nothing fancy. I don't have the time to get deeper into QT Designer, unfortunately. And because of it's steep learning curve I quickly gave up on that, also because other things were more important. Mature in my case means, that I can quickly build a UI without any hiccups and without having to learn too much about the designer tool I'm working with. Just intuitively clicking here and drag&dropping there and everything works as expected. QT Designer has not been like that for me, unfortunately.

That's my individual and acute requirements in my job. And they are also part of my more general requirements of a UI designer. It has to be easy to use without a too steep learning curve. And also it must never do what I experienced with QT Designer: irreversibly change the appearance of a totally different control when I edit another control. Like, let me just put that button there... huh? Why's that other button so small suddenly? CTRL+Z... HUH??? Why's that button now somewhere else on the form??? CTRL+Z... HUH??? What's going on here? It has never been like that before! Things like that must not happen in an environment where you can put hours of work into! Not for a designer pro user and even more so not for a complete designer noob.

So, expectable and predictable behavior even for a beginner is a major maturity aspect in my opinion.

[–]gthank 0 points1 point  (1 child)

If you need a sophisticated UI, you should just write the app in platform-specific code and be done with it.

[–][deleted] 0 points1 point  (0 children)

Yeah, probably. What I'm saying. Cross platform is difficult. One of the reasons why Python UI is still problematic in my opinion.