Jason Fruit's Articles
Jason Fruit has worked in Python since 2000. He loves Python so much, he even used it to name his children.
PySide/PyQt Tutorial: QWebView
The QWebView is a highly useful control; it allows you to display web pages from URLs, arbitrary HTML, XML with XSLT stylesheets, web pages constructed as QWebPages, and other data whose MIME types it knows how to interpret. It uses the WebKit web browser engine. WebKit is an up-to-date, standards-compliant rendering engine used by Google’s […]
Read MorePySide/PyQT Tutorial: QListView and QStandardItemModel
In our last instalment, we discussed Qt’s QListWidget class, which allows the user to make simple single-column list boxes. For more advanced list controls, however, a more flexible widget is required; for that reason, Qt supplies the QListView widget, which allows more varied items to be created. It is a pure presentation widget, which displays […]
Read MorePySide/PyQt Tutorial: The QListWidget
Qt has a couple of widgets that allow single-column list selector controls — for brevity and convenience, we’ll call them list boxes. The most flexible way is to use a QListView, which provides a UI view on a highly-flexible list model which must be defined by the programmer; a simpler way is to use a […]
Read MoreReview of IPython (Alternative Python Shell)
For an introduction to IPython, be sure to checkout the article Introduction to IPython: An Enhanced Python Interpreter. One of the nice things about working in an interpreted language like Python is exploratory programming using the interactive Python shell. It lets you try things out quickly and easily without writing a script and then executing […]
Read MoreReview of bpython and DreamPie (Alternative Python Shells)
bpython Alternative Shell Review bpython is a lighter solution than IPython, which we discussed last time; where IPython expands the capabilities of Python itself, and offers interactive features as a sideline, bpython expands the interactive features of Python’s shell — and that’s about it. Within the bounds of its intended purpose, however, it is quite […]
Read MorePySide/PyQt Tutorial: Creating Your Own Signals and Slots
You don’t have to rely solely on the signals that are provided by Qt widgets, however; you can create your own. Signals are created using the Signal class. A simple signal definition would be: Then, when the conditions for the object being tapped are satisfied, you call the signal’s emit method, and the signal is […]
Read MorePySide/PyQt Tutorial: Using Built-In Signals and Slots
In the last installment, we learned how to create and set up interactive widgets, as well as how to arrange them into simple and complex layouts using two different methods. Today, we’re going to discuss the Python/Qt way of allowing your application to respond to user-triggered events: signals and slots. When a user takes an […]
Read MorePySide/PyQt Tutorial: Interactive Widgets and Layout Containers
In the last installment, we looked at some of the functionality provided to all QWidget-descended Qt widgets, and we looked at one specific widget, the QLabel, in more depth. We also worked our way up to an example that illustrated the structure of a simple Python/Qt application. Thus far, however, we’re not able to do […]
Read MoreText Editors vs IDEs for Python development: Selecting the Right Tool
The language in which you program and its interpreters or compilers are only some of the tools you use to develop software. Another important matter is your programming environment. Unlike some languages, where your choices are limited, such as Delphi or the .NET languages, where there are one or two obviously superior options, Python has […]
Read MoreBest Text Editors for Python development
Python is such a popular language that most “programmers’ text editors” have at least rudimentary support, including syntax highlighting. But there are several editors that have especially good support. I’ve tested the following editors, presented in alphabetical order, as most are fine choices: Emacs Geany Komodo Edit Notepad++
Read More