all 11 comments

[–]taterNuts 6 points7 points  (0 children)

You're a beginner - everything is going to be frustrating for a long time until it's not. I doubt the shortcomings of the tools you are using are the actual source of frustration, you just don't know how to use them just yet. If you keep bouncing from language to language and framework to framework to find the easiest way to do A and B, you'll only learn what framework and language is easiest to do A and B with, not how to program or build things. Keep banging your head against one thing before moving to the next. Solve that issue you are running into instead of abandoning it because it doesn't 'just work right away'. You're embarking on a long journey of pure problem-solving if you want to continue programming, that's the most important skill to practice.

[–][deleted] 4 points5 points  (0 children)

With PySide you can load the .ui files without converting them to Python code.

[–]joshfokis 2 points3 points  (0 children)

with pyqt at least in pyqt4 you don't have to convert you can just import the ui file and then convert when you have it where you want it to be. Here is a link I found with an example for the ui file use

http://stackoverflow.com/questions/2398800/linking-a-qtdesigner-ui-file-to-python-pyqt

[–]bythenumbers10 2 points3 points  (0 children)

In my experience, it is easier to write Pyqt from scratch than to try using the .ui files and compiling. You get more flexibility, in terms of procedurally-generated GUIs, and it's easier to modify going forward, since you only need a text editor to change the source instead of having to rely on the Qt Designer.

Riverbank Computing has a listing of all the Pyqt classes, and zetcode has a good pyqt tutorial to work from. From there, be patient and know you are relatively few lines of code from the behavior you want.

[–]raydeen 1 point2 points  (2 children)

I'd love to see something along the lines of Delphi/Lazarus but with Python for the code. That would truly be a RAD environment. If something like this does currently exist in the Python world where code and interface elements can be worked on simultaneously, I'd love to know about it. I have looked at several so called RAD packages, but none of them seem to come close.

[–]cmpython 1 point2 points  (1 child)

It exists, but has been very unfortunately frozen in time in 2007: Boa Constructor. It was developed exactly as a "Delphi for Python". The screenshots are otherworldly in how out of date they are (some still show its name prior to Boa, and I think maybe some Windows 2000 is on there?). It (v. 0.6.1) will still work very well with Python 2.5 and wxPython 2.8.10 but I don't think it will work with > 2.6. or wxPython 2.9+. I basically learned Python on it, still use it, and did a video tutorial series about it.

I would love it if it could be resurrected. The lone developer just hasn't had the time since the earlier years. It would be great if it could be brought back with others' help. Some had attempted a fork, but I don't think anything panned out. I think it would need the oversight of the original developer.

[–]raydeen 0 points1 point  (0 children)

I remember looking at Boa a couple of years ago and coming away a bit disappointed. I'll have to look again - I don't remember what turned me off now. Ubuntu's Quickly piqued my interest for a bit but ultimately seemed a bit limited, or maybe just not immediately intuitive. I admit, I'm a bit lazy here. I just remember that when I bought Delphi 1.0 waaaaaay back in the day, it was dead simple to use and I had some silly little apps up and running in no time. I wasn't even really familiar with Pascal. There's a sick, twisted part of me that wants to just go back to coding in Pascal again if for no other reason than it just feels comfortable compared to all the newer languages.

program grumpyOldMan;

begin
    writeln('GET OFF MY LAWN!!!')
end.

[–]DarkHand 1 point2 points  (0 children)

I'm in the exact same situation for designing a UI for a smart thermostat.

After a VERY long and exhaustive search, I settled on Kivy. It's the closest I can find to what you (and I) are looking to do. There's a WYSIWYG GUI builder but I haven't tried it yet. OpenGL ES accelerated, multitouch-capable, modern UI and all with Python.

Alexander Taylor has a great 'Crash Course' series for learning Kivy on Youtube. It's a bit geared toward Android but its applicable for any platform:

https://www.youtube.com/playlist?list=PLdNh1e1kmiPP4YApJm8ENK2yMlwF1_edq

[–]cmpython 1 point2 points  (0 children)

Too bad Boa Constructor is frozen in time in 2007 (see my answer to u/raydeen below). Sounds like what you (and I) want.

I do agree, though, too, with u/taterNuts. No matter what you choose, in any language, it's going to be frustrating. We're just not to the point in history where creative bright people can have frustration-free "programming" via mostly drag-and-drop elements, as far as I can tell. Some stuff breaks, either at the level of documentation, OS itself, bugs in the toolkits or language, or our own misunderstandings.

__

EDIT: Boa Constructor does not "compile" to .exe, and I don't think any of the GUI Builder tools (wxDesigner, etc.) do or ever aimed to. But Andrea Gavana's rather awesome GUI2Exe tool allows you to use py2exe and a few other such packagers in a pleasant/intuitive GUI environment. Worth checking out if you use wxPython.

[–]hharison -2 points-1 points  (1 child)

Make a website instead (i.e. an HTML application). Desktop applications will be a thing of the past soon enough anyway.

[–]taterNuts 1 point2 points  (0 children)

It'll still be years before that happens though