Mark Summerfield's Writing & Software
Mark is an independent programmer, author, editor, and trainer, specializing in C++, Qt, Python, and PyQt. Mark is a qualified teacher and graduated with first class honours in Computer Science from the University of Wales Swansea, UK. Prior to starting Qtrac Ltd., he spent many years in the software industry, primarily as a programmer. Advanced Qt book cover

Python 3 book cover

PyQt book cover

Books
  1. Advanced Qt Programming (ISBN 0321635906) by Mark Summerfield—all the examples and a sample chapter are available for free download
  2. Programming in Python 3: A Complete Introduction to the Python Language (Second Edition) (ISBN 0321680561) by Mark Summerfield—all the examples and a sample chapter are available for free download
  3. Programming in Python 3: A Complete Introduction to the Python Language (First Edition) (ISBN 0137129297) by Mark Summerfield. Hungarian, Portuguese, Russian, and Spanish translations are now available, with Chinese and Japanese translations in the works. (Superseded by the First Edition.)
  4. Rapid GUI Programming with Python and Qt: The Definitive Guide to PyQt Programming (ISBN 0132354187) by Mark Summerfield. A Chinese translation is in the works.
  5. C++ GUI Programming with Qt 4 (Second Edition) (ISBN 0132354160) by Jasmin Blanchette & Mark Summerfield. Chinese, German, Korean, Russian, and Turkish translations are now available. All the examples and the entire book in HTML are available free from InformIT.
  6. C++ GUI Programming with Qt 4 (First Edition) (ISBN 0131872494) by Jasmin Blanchette & Mark Summerfield. This book is available in PDF format under the Open Publication License, PDF in a ZIP (5.6 MB, unzips to 51 MB). Chinese, French, German, Japanese, and Russian translations are available. (Superseded by the First Edition.)
  7. C++ GUI Programming with Qt 3 (ISBN 0131240722) by Jasmin Blanchette & Mark Summerfield. This book is available in PDF format under the Open Publication License, PDF in a ZIP (2.4 MB, unzips to 32 MB), or PDF (22 MB). German, Japanese, and Russian translations are available.
Open Source Software
  • DiffPDF, a GUI application for comparing PDF files page by page, either textually or by their appearance.
  • Alt_Key, a GUI application and library for calculating keyboard accelerators for menu option texts and dialog labels.
A Selection of Other Writings
  1. From Software Patents to Silence: A Thought Experiment
  2. Moving from Python 2 to Python 3 a "cheat sheet" for Python 2 programmers written for InformIT (4 page PDF, 676K)
  3. Python Descriptors an InformIT article
  4. A Practical Introduction to PyQt's Undo/Redo Framework an InformIT article
  5. Qt 4's Model/View Delegates an ICS Whitepaper covering Generic Delegates and Abstract Column Delegates (Qt 4.2 introduced new methods that can be used to achieve the same effect)
  6. Libraries and Plugins a Qt 4 article in Qt Quarterly
  7. Data Models: SQL Table vs. Flat File a Qt 4 article in Qt Quarterly
  8. Guarded Pointers in Qt 3 and Qt 4 a Qt 3 and Qt 4 article in Qt Quarterly
  9. Automatic Dialogs a Qt 3 article in Qt Quarterly (The ideas in this article are still applicable in Qt 4)
  10. Optimizing with QPixmapCache a Qt 3 article in Qt Quarterly (The ideas in this article are still applicable in Qt 4)
  11. Mandatory Fields a Qt 3 article in Qt Quarterly (For Qt 4, see the QAbstractItemModel's setData() and flags() methods)
  12. A String List Editor a Qt 3 article in Qt Quarterly (For Qt 4, see the QStringListModel class)
  13. Laying out MDI Children a Qt 3 article in Qt Quarterly (The ideas in this article are still applicable in Qt 4)
  14. Fancy List Items a Qt 3 article in Qt Quarterly (For Qt 4, see the QAbstractItemModel's data() method)
  15. Implementing a Popup Calendar a Qt 3 article in Qt Quarterly (For Qt 4, see the QCalendarWidget class)
  16. Customizing for Completion a Qt 3 article in Qt Quarterly (For Qt 4, see the QCompleter class)
Copyright © 2006-10 Qtrac Ltd. All Rights Reserved.