If you are already a Python programmer, you've probably noticed that Tkinter, the interface toolkit distributed with Python, has some problems:
■ Tkinter is based on the Tk toolkit, which is somewhat out-of-date in terms of the kinds of widgets it supports. By default, it doesn't support more complex widgets such as tree controls or tabbed windows. It also doesn't have a particularly rich set of predefined dialogs.
■ The Tk toolkit does not use native widget support, resulting in an application that looks foreign on all platforms. In wxPython, dialogs and widgets will look like those that are standard on the underlying operating system. Your Tk user will find that buttons, fonts, and menus all look slightly different from what might be expected.
■ Many programmers find Tkinter itself somewhat clunky to work with. In particular, the process by which events are translated to actions in wxPy-thon is more flexible and powerful.
You'll find that wxPython solves these problems. The toolkit in wxPython is vastly more complete and extensive than that of Tkinter and the native widget support means your application will look at home in your operating system. Additionally, the Python language support is more fluid in wxPython, making for a somewhat nicer programming experience.
Was this article helpful?