wxPython

An article about wxPython, one of the most popular desktop graphical user interface (GUI) toolkits for the Python programming language

wxPython: Creating a Simple RSS Reader

Really Simple Syndication (RSS) has been with us for a long time and allows us to see new articles on our favorite website easily. Python doesn’t have an RSS reader module in the standard library, so we’ll be using the Universal Feed Parser 5.1.3 to do our parsing. If you do not have it already, […]

wxPython: Creating a Simple RSS Reader Read More »

wxPython 201: Syncing Scrolling Between Two Grids

This week I saw a question on StackOverflow about putting two grids into a SplitterWindow which itself was in a Notebook page. Personally I think that’s a little convoluted, but I thought it was an interesting challenge and I came up with a solution. Then the fellow wanted to know how to sync the scrolling

wxPython 201: Syncing Scrolling Between Two Grids Read More »

wxPython: ObjectListview – How to Double-click items

The other day I was working on a project where I was using the fabulous ObjectListView widget (a wrapper around wx.ListCtrl) and I wanted to add the ability to double-click an item in the control to make it open a PDF. I knew I had read somewhere on the internet about how do this sort

wxPython: ObjectListview – How to Double-click items Read More »

wxPython: Adding Tooltips to ObjectListView

Recently I was trying to figure out how to add tooltips to each item in an ObjectListView widget in wxPython on Windows. The wxPython wiki has an example that uses PyWin32, but I didn’t want to go that route. So I asked on the wxPython Google Group and got an interesting answer. They had actually

wxPython: Adding Tooltips to ObjectListView Read More »

wxPython 101: Using Frame Styles

The wxPython Frame widget is used in almost all wxPython applications. It has the minimize, maximize and close buttons on it as well as the caption along the top that identifies the application. The wx.Frame allows you to modify its styles in such a way that you can remove or disable various buttons and features.

wxPython 101: Using Frame Styles Read More »

wxPython: How to Get Selected Cells in a Grid

Today we will be looking at how to get the selected cells from a wxPython grid object. Most of the time, getting the section is easy, but when the user selects more then one cell, getting the selection becomes more complicated. We will need to create some sample code to show how all this fits

wxPython: How to Get Selected Cells in a Grid Read More »

wxPython: An Introduction to SplitterWindows

The wxPython GUI toolkit comes with lots of widgets. We will be covering some widgets that are somewhat harder to get ones mind wrapped around. In this case, we will be talking about splitter windows. WxPython includes three types of splitter windows: wx.SplitterWindow fourwaysplitter which you can find in wx.lib.agw MultiSplitterWindow which you can find

wxPython: An Introduction to SplitterWindows Read More »

wxPython 2.9 and the Newer Pubsub API: A Simple Tutorial

NOTE: This article is for wxPython 2.9-3.0. If you are using wxPython 4, you should go to my newer article Several years ago, I wrote a tutorial about wxPython 2.8 and its built-in pubsub module which you can read here. Back then, a new API for pubsub was added in wxPython 2.8.11.0 that could be

wxPython 2.9 and the Newer Pubsub API: A Simple Tutorial Read More »

wxPython: How to Update a Progress Bar from a Thread

Every now and then, I see someone wondering how to create a progress bar and update it. So I decided to whip up an example application that updates a progress bar (technically a wx.Gauge widget) from a thread. In this tutorial, we will create a frame with a button. When the button is pushed, it

wxPython: How to Update a Progress Bar from a Thread Read More »

wxPython: How to Redirect Python’s Logging Module to a TextCtrl

Today I was reading the wxPython Google group / mailing list and there was someone asking about how to make Python’s logging module write its output to file and to a TextCtrl. It turns out that you need to create a custom logging handler to do it. At first, I tried just using a normal

wxPython: How to Redirect Python’s Logging Module to a TextCtrl Read More »

wxPython: How to Edit Your GUI Interactively Using reload()

Today, I came across an interesting question on StackOverflow where the author was asking how he could write a wxPython program dynamically. In other words, he wanted to be able to edit the code and basically refresh the application without closing and re-running his code. The simplest way would be to use Python’s built-in reload

wxPython: How to Edit Your GUI Interactively Using reload() Read More »

wxPython: Creating a Grid with XRC

I recently tried to help someone (on the wxPython mailing list) figure out how to use a Grid widget (wx.grid.Grid) via XRC. It should be simple, but if you run the code below, you’ll discover a weird issue: import wx from wx import xrc ######################################################################## class MyApp(wx.App): def OnInit(self): self.res = xrc.XmlResource(“grid.xrc”) frame = self.res.LoadFrame(None,

wxPython: Creating a Grid with XRC Read More »

Using Python to Teach About Finding the Digital Root

My wife teaches 3rd grade math and she recently learned about the process of obtaining the digital root of numbers. The digital root is a single digit number found by summing the individual digits. So for 15, you would add 1+5 to get 6. Thus 6 is the digital root of 15. The trainer that

Using Python to Teach About Finding the Digital Root Read More »