The wxPython toolkit provides an alternative to using Sizers for layout that is known as "sized_controls". These controls or widgets are basically top-level widgets (like frame, panel, dialog, etc) that have sizing logic built into them. This article will cover all four types of sized_controls. They are as follows: SizedPanel SizedScrolledPanel SizedFrame SizedDialog The SizedScrolledPanel […]
wxPython 2.9 introduced the world to a new type of sizer that can take widgets and automatically make them "wrap" around as you resize the frame. That sizer is known as wx.WrapSizer. For some reason, it is relatively unknown, so we'll spend a few minutes going over how to use it in this article. To […]
The Python programming language added the super() type back in version 2.2. For some reason, it's still a topic that a lot of beginners don't understand. One of my readers recently asked me about it and since I don't really use it, I decided to do some research in the hopes of understanding its usage […]
Python has a neat little concept called a property that can do several useful things. In this article, we will be looking into how to do the following: Convert class methods into read-only attributes Reimplement setters and getters into an attribute In this article, you will learn how to use the builtin class property in […]
I've been reading a lot about Python's magic methods lately and recently read about a couple of ways to create an immutable class. An immutable class does not allow the programmer to add attributes to an instance (i.e. monkey patch). It's a little easier to understand if we actually look at a normal class first. […]
The Real Python: Advanced Web Development, featuring Django 1.6 KickStarter campaign released a preview chapter today called "Software Craftmanship". It is the first chapter from the book. The PDF download consists of 33 pages. You can go get it too by going to the following address: http://www.realpython.com/preview/. If you haven't already, you can still support […]