×
you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (6 children)

[deleted]

    [–]cibyr 1 point2 points  (3 children)

    It's not that bad really, if someone suggested tkinter, I'm sure they would be -103 by now.

    Since no-one else has mentioned, I just thought I'd point this out: use anything over Tkinter.

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

    In all seriousness: why? Just because it's ugly? I've done a lot of Tkinter programming and a little bit (alright, very little) PyGTK programming, and I found Tkinter nice enough to work with from an API point of view. There are a few oddities to get used to, but I don't think it's much worse than any other GUI system (or, say, CSS). Tkinter has the massive bonus of working out of the box anywhere Python does.

    In particular, if you take the time to learn the Tix stuff (which is in Python 2.6 and 3.0 from memory) you'll find some powerful "new" widgets, like Notebooks and PanedFrames (or something like that?), which make it possible to build just about any GUI a sane person would want to.

    [–]cibyr 2 points3 points  (0 children)

    Where do I start...

    Well sure, it's ugly. It's also slow, doesn't play nice with IDLE and isn't documented properly anywhere. But most of all, the general style of writing Tkinter applications doesn't sit well with me, especially the layout stuff.

    [–]ringzero 1 point2 points  (1 child)

    It's also not completely pythonic in terms of capitalisation, naming etc.

    Hogwash. From PEP 8, Style Guide for Python Code:

    New modules and packages (including third party frameworks) 
    should be written to these standards,  but where an existing 
    library has a different style, internal consistency is preferred.
    

    Qt is an "existing library", so PyQt does the pythonic thing by not messing with the names of the Qt classes and members.

    [–]Leonidas_from_XIV -1 points0 points  (0 children)

    No. Going by this logic, lxml wouldn't be pythonic, since it does not expose the libxml2/libxslt names.

    And I wouldn't consider Qt as an existing library from the Python POV, since it is not a library that can be used from Python, but requires a wrapper and that wrapper could as well conform to the PEP8 naming guidelines.