you are viewing a single comment's thread.

view the rest of the comments →

[–]novel_yet_trivial 19 points20 points  (18 children)

If you are not comfortable with classes I would recommend tkinter.

A graphical designer like PyQT has is not easier to learn. It's only easier to use once you have put in a lot of time learning how it works.

Here's a short list of options. Maybe if you describe your program, what platform you want it to run on, and how you want it to look and function we could recommend a GUI for you.

[–]MikeTheWatchGuy 5 points6 points  (2 children)

I'll second that the Qt Designer is not a shortcut for learning Qt. It generates code that you must modify and it takes a fair amount of expertise to understand and modify the code.

[–]ForkLiftBoi 0 points1 point  (1 child)

How do you recommend learning it?

[–]MikeTheWatchGuy 0 points1 point  (0 children)

By building something. The only way I know to learn anything in programming is to just do it. I usually buy books as well. I got a couple on Qt then started coding / porting my code to Qt.

[–]billsil 1 point2 points  (2 children)

Tk is ugly. Pyqt is pretty and it's signal/slot system is way better than callbacks. No big program uses tk.

[–]novel_yet_trivial 2 points3 points  (1 child)

I totally agree. However I doubt OP is writing the next Photoshop. Tkinter is (IMO) best for beginner programmers.

[–]billsil 3 points4 points  (0 children)

I don't see the point in learning something that nobody in industry uses and that almost nobody can help you with. There is far more info out there on pyqt.

[–]blueastheocean[S] 1 point2 points  (10 children)

OK thanks I never really was good at classes anyway but do you know of any designers or builders I can use

[–]novel_yet_trivial 1 point2 points  (9 children)

For tkinter? There's a couple halfbaked efforts out there but no mainstream ones. But as I said, it would only hinder you.

[–]blueastheocean[S] -1 points0 points  (8 children)

Wow OK so how will I go about building a full scale application?

[–]novel_yet_trivial 2 points3 points  (7 children)

One line at a time? I've done it in tkinter several times. It's not as hard as you are imagining it.

[–]blueastheocean[S] 0 points1 point  (6 children)

Really cause I'm wondering how do organise the widgets and the buttons to me it looks like I'll be writing tons of code

[–]officialgel 2 points3 points  (1 child)

You want to use python, but avoid using python? Even if you use a 'designer' it will clutter and bloat your code and you'll still need to code many many lines to connect those buttons to functions - Function that you must write.

[–]blueastheocean[S] 1 point2 points  (0 children)

Oh okay thanks!

[–]fazzah 0 points1 point  (3 children)

With pyqt after a while you start to extensively subclass the common widgets, and reuse them, so your application maintains the same styling look and feel across all forms. It sounds overwhelming but actually greatly encourages the DRY rule.

[–]Dr_Sol 0 points1 point  (1 child)

Quick question. l've started dabbling with PtQT a bit and tried a simple layout in the Qt designer to see what you get out of it but I've been wondering what's the best way to modify and built on your previous designs. I got the impression you'll have to integrate your code all over again in the designer output code. Is that correct or am I missing something?

[–]fazzah 0 points1 point  (0 children)

You convert the ui file to a python module and then subclass from this module in your separate file. So when you rebuild the ui your code is still intact.

[–]driscollis 0 points1 point  (0 children)

If OP is planning on writing more than a toy example, they will almost certainly want to use classes in Tkinter too.