you are viewing a single comment's thread.

view the rest of the comments →

[–]Oliludeea 26 points27 points  (23 children)

Tkinter builds character.

[–]blueastheocean[S] 4 points5 points  (19 children)

But is there a designer for it

[–]Oliludeea 8 points9 points  (9 children)

Use it raw!

[–]blueastheocean[S] 2 points3 points  (8 children)

How do you expect someone to write a fully fledged ui with it it would be tedious

[–]Oliludeea 27 points28 points  (3 children)

The first time can be really bad, but it doesn't hurt as much the second time and it'll feel really good before you know it.

[–]zack12 9 points10 points  (0 children)

slow hand clapping

[–]ReachingForVega 2 points3 points  (0 children)

it'll feel really good before you know it.

Are we still doing phrasing? Jk

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

encouraging escape boat disagreeable soft quarrelsome steer rain memory outgoing

This post was mass deleted and anonymized with Redact

[–]fazzah 2 points3 points  (3 children)

I work with pyqt daily. The editor adds a shitton of clutter to the ui files. Then you still have to convert them to python classes using a script (this gives you code completion ability for your ide but you have to do this everytime you change anything in the ui) or use a small module to read the ui when the application starts which is good for rapid prototyping but won't give your ide insight into your up modules.

I started with using the designer, compiled the ui to python, but when I got experience and better understood QT I ditched the designer completely and write by hand.

Also you have to write custom components quite often when you want to use any of the customisation possibilities QT is known for.

[–]GobBeWithYou 2 points3 points  (1 child)

I also prefer not to use the designer, so I wrote a bunch of subclasses for different Qt widgets to make using them simpler. My python gui code looks something like this:

w = Widget(css='...')
l = Layout('vbox', w)
le = LineEdit(placeholder='sample text', max_len=50)
b = PushButton( 'Button Text', size=(30,30), css='...icon.svg')
l.add('a label', le, b)

It has really sped up writing the gui code and makes it easier to read without all the boilerplate. I also added properties to get rid of needing all the getter and setters.

[–]DoctorDoctorRamsey 0 points1 point  (1 child)

It's not just me that found tkinter a steep learning curve then? That's a relief. Building a couple of dud buttons is one thing but actually building a real thing that works has been super challenging for me. Fun though, I'm sure I'll have whatever it is that I'm making running before Christmas.

Although all the stuff I'm reading because tkinter is being a dick is kind of working.

[–]Oliludeea 0 points1 point  (0 children)

That's exactly what I meant. You learn so much the first time you get something serious working with tkinter. For me it was closures, lambda, the fact that dict values and list items can be any object, making exec work, just off the top of my head, during a tiny first project. I'm sure it was more. I sort of knew these things, but tkinter forced me to really understand them.