wxPython

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

wxPython: Updating Your Application with Esky

Today we’re going to learn about one of wxPython’s newer features: wx.lib.softwareupdate. It was actually added a couple of years ago. What this allows you to do is add update abilities to your software. As far as I can tell, this mixin only allows prompted updates, not silent updates. Getting Started It’s built into wxPython […]

wxPython: Updating Your Application with Esky Read More »

wxPython: How to Communicate with Your GUI via sockets

I sometimes run into situations where it would be nice to have one of my Python scripts communicate with another of my Python scripts. For example, I might want to send a message from a command-line script that runs in the background to my wxPython GUI that’s running on the same machine. I had heard

wxPython: How to Communicate with Your GUI via sockets Read More »

wxPython: How to Double-click an Item in an ObjectListView Widget

This week, I needed to figure out how to attach an event handler that would fire when I double-clicked an item (i.e. row) in an ObjectListView widget that was in LC_REPORT mode. For some reason, there isn’t an obvious mouse event for that. There is an EVT_LIST_ITEM_RIGHT_CLICK and an EVT_LIST_ITEM_MIDDLE_CLICK, but nothing for LEFT clicks

wxPython: How to Double-click an Item in an ObjectListView Widget Read More »

wxPython: How to Get Children Widgets from a Sizer

The other day, I stumbled across a question on StackOverflow asking how to get the children widgets of a BoxSizer. In wxPython, you would expect to call the sizer’s GetChildren() method. However, this returns a list of SizerItems objects rather than a list of the actual widgets themselves. You can see the difference if you

wxPython: How to Get Children Widgets from a Sizer Read More »

wxPython: How to make “flashing text”

People keep on asking fun wxPython questions on StackOverflow. Today they wanted to know how to make “flashing text” in wxPython. That’s actually a pretty easy thing to do. Let’s take a look at some simple code: import random import time import wx ######################################################################## class MyPanel(wx.Panel): “””””” #———————————————————————- def __init__(self, parent): “””Constructor””” wx.Panel.__init__(self, parent) self.font

wxPython: How to make “flashing text” Read More »

wxPython: How to drag and drop a file from your app to the OS

Today on StackOverflow I saw someone who wanted to know how to drag a file from a wx.ListCtrl onto their Desktop or somewhere else in the file system. They were using the file manager skeleton from zetcode, but couldn’t figure out how to add the DnD portion. After a bit of searching and hacking, I

wxPython: How to drag and drop a file from your app to the OS Read More »

wxPython: How to Programmatically Change wx.Notebook Pages

Occasionally I’ll see someone on the wxPython users group ask about how to make the wx.Notebook change pages (or tabs) programmatically. So I decided it was about time I figured it out. Here is some code that works for me: import random import wx ######################################################################## class TabPanel(wx.Panel): #———————————————————————- def __init__(self, parent, page): “””””” wx.Panel.__init__(self, parent=parent)

wxPython: How to Programmatically Change wx.Notebook Pages Read More »

wxPython: Creating Your Own Cross Platform Process Monitor with psutil

This week, I came across a fun Python project named psutil on Google Code. It says it works on Linux, Windows, OSX and FreeBSD. What it does is grab all the running processes and gives you information on them and also gives you the ability to terminate them. So I thought it would be fun

wxPython: Creating Your Own Cross Platform Process Monitor with psutil Read More »