Jeff Tranter
Jeff Tranter is a longtime Qt Consulting Manager at ICS, recently retired. For nearly two decades, he oversaw architecture and high-level design of software systems, and managed global teams working on desktop and embedded applications. He has been published in Electronic Design magazine.
Articles by Author
The Qt 5 Multimedia QML Elements
Thursday, November 20, 2025 - 13:42 "> • By Jeff Tranter • Qt, QML
Qt 5 introduced a new set of multimedia APIs. Both C++ and QML APIs are provided. In this blog post, I will give an overview of the QML APIs for multimedia.
Qt and C++11
Thursday, November 20, 2025 - 13:41 "> • By Jeff Tranter • Qt, C++
With most C++ compilers now providing good support for the latest language standard, C++11, let's look at some of the new language features that are particularly useful for use in Qt programs.
Integrating C++ with QML
Thursday, November 20, 2025 - 13:39 "> • By Jeff Tranter • Qt
Qt Quick's QML language makes it easy to do a lot of things, especially fancy animated user interfaces. However, there are some things that either can't be done or are not really suitable for implementing in QML. As we'll see, Qt makes it quite easy to expose C++ code to QML. In this blog post I'll show an example of doing this with a small but functional application.
The Raspberry Pi Camera Module
Thursday, November 20, 2025 - 13:33 "> • By Jeff Tranter • Embedded, Camera, Raspberry Pi
In this post we'll look at the Raspberry Pi camera module, a low cost hardwar module that supports still picture and video recording.
Getting Started With Qt and Qt Creator on Windows
Thursday, November 20, 2025 - 11:52 "> • By Jeff Tranter • Qt, Qt Creator, QML, Widgets, C++, IDE, Windows
If you struggle with initially getting Qt set up for development with the Qt Creator IDE and a C++ compiler, check out our step-by-step instructions.
What's New in Qt 5.10: QRandomGenerator
Thursday, November 20, 2025 - 11:49 "> • By Jeff Tranter • Qt
Generating true random numbers for cryptocurrency, security software and games is surprisingly difficult. QRandomGenerator can help.
What is RISC-V and Why is it Important?
Thursday, November 20, 2025 - 09:58 "> • By Jeff Tranter • development tools
RISC-V allows smaller device manufacturers to build hardware without paying royalties, and encourages innovation.
Qt Has a Solution for All Your Timing Needs
Thursday, November 20, 2025 - 09:57 "> • By Jeff Tranter • Qt
Here's a look at some of the other timer classes provided by Qt that may be unfamiliar if you've only used a simple QTimer.
A Deeper Look at ARM Assembly Language
Thursday, November 20, 2025 - 09:55 "> • By Jeff Tranter • Raspberry Pi, ARM
Let's continue our blog series on ARM assembly language by drilling down into some of the basic ARM machine language instructions.Instruction Formats and Addressing ModesARM instructions accept from zero to three (and occasionally more) operands. An optional S suffix can be added to indicate that the result should affect the flags in the status register. Most source operands can be a register or immediate data and the destination register can usually be the same as a source register.
Get Ready for C++23
Wednesday, November 19, 2025 - 16:28 "> • By Jeff Tranter • C++
Slated for release in December, C++23 will include incremental improvements, clarifications, and removal of previously deprecated features.
What's New in Qt 5.6.0: Logging to syslog and journald
Wednesday, November 19, 2025 - 16:26 "> • By Jeff Tranter • Qt, Logging, syslog, journald
In this blog post, we'll look at how the new features of Qt in version 5.6.0.
Performance Profiling Tools
Wednesday, November 19, 2025 - 16:21 "> • By Jeff Tranter • Qt, profiling development tools
Continuing our series on useful development tools, this time looking at applications for performance profiling.
Get to Know ARM Assembly Language
Wednesday, November 12, 2025 - 09:37 "> • By Jeff Tranter • Raspberry Pi, ARM
Though writing software in high-level languages is the norm, there are times when it's helpful to know assembler code.
Integrating a Python-based Custom Widget into Qt Designer
Wednesday, November 12, 2025 - 09:35 "> • By Jeff Tranter • Qt, Widgets, Python, PyQt
Want to create a widget with a Qt Designer plugin interface so it can be viewed within Qt Designer? Check out this walk through.
Getting Started With Qt and Qt Creator on Linux
Wednesday, November 12, 2025 - 09:31 "> • By Jeff Tranter • Qt, Qt Creator, QML, Widgets
Here's how to configure a Linux system for Qt desktop development, including easy-to-follow instructions.
Getting Started With Qt and Qt Creator on MacOS
Wednesday, November 12, 2025 - 09:29 "> • By Jeff Tranter • Qt
We've shown you how to set up Qt and Qt Creator on Windows and Linux systems. Here's a look at installation on macOS.
Explore Hardware Capabilities of Raspberry Pi's GPIO Interface
Wednesday, November 12, 2025 - 09:23 "> • By Jeff Tranter • Raspberry Pi, embedded systems
In Part 2 of our series, we look at the hardware capabilities of the Raspberry Pi's GPIO interface.
An Introduction to GPIO Programming
Wednesday, November 12, 2025 - 09:21 "> • By Jeff Tranter • embedded systems, Qt
Here's what you need to know to get started with GIPO, a key component of many embedded systems.
How to Control GPIO Hardware from C or C++
Tuesday, November 11, 2025 - 16:29 "> • By Jeff Tranter • C++, Linux
My last post, part 4 in the GPIO Programming series, showed some ways to program GPIO from Python. Python offers a number of advantages as a programming language including a short learning curve, no need for compilation, and the availability of many add-on modules. However, true compiled languages like C or C++ can offer some advantages in embedded applications, such as higher performance.
GPIO Programming: Using the sysfs Interface
Tuesday, November 11, 2025 - 16:27 "> • By Jeff Tranter • embedded systems
Here's a look at basic GPIO control using the sysfs interface provided by the Linux kernel.
GPIO Programming: Exploring the libgpiod Library
Tuesday, November 11, 2025 - 16:23 "> • By Jeff Tranter • embedded systems, Linux
Here's a look at a GPIO library available on Linux that has become more widely supported on platforms like the Raspberry Pi.
Control Raspberry Pi GPIO Pins from Python
Tuesday, November 11, 2025 - 16:19 "> • By Jeff Tranter • Embedded, Python
Here's how to control Raspberry Pi GPIO pins from Python using Rpi.GPIO and Gpiozero.
Qt’s Approach to Input Validation: Masks and Validators Explained
Tuesday, September 9, 2025 - 14:55 "> • By Jeff Tranter, Chris Rizzitello • Qt
Learn how these powerful tools to help manage and validate user input to avoid errors and improve your app's UX.
Embedded Software Development is Hard. Avoid These Mistakes
Wednesday, October 23, 2019 - 12:53 "> • By Jeff Tranter • Qt, Embedded
Qt developers making the transition from desktop or mobile to embedded have a host of challenges to overcome.
ICS Will Offer Four Tactical Pre-Conference Training Courses
Thursday, September 1, 2016 - 16:57 "> • By Jeff Tranter • Qt, QML, UX, Qt World Summit
If you're attending the 2016 Qt World Summit in San Francisco, check out ICS' tactical training courses on October 18.
Questions & Answers from Qt for Beginners Part 5 - Ask the Experts
Friday, June 24, 2016 - 15:11 "> • By Jeff Tranter • Qt, QML
In QML, I have a Text item with wrapMode: Text.Wrap but the text isn't wrapping. What am I doing wrong?
Questions & Answers from Qt for Beginners Part 1 - Overview and Key Concepts
Wednesday, April 27, 2016 - 17:15 "> • By Jeff Tranter • Qt, QML
Questions and Answers from Qt for Beginners Part 1 - Overview and Key Concepts
Some Lesser Known Qt Tools and Commands - Part 2
Wednesday, April 8, 2015 - 14:50 "> • By Jeff Tranter • Qt, D-Bus
Continuing with our series of blog posts on some of the lesser known Qt commands, this time we will look at some tools related to Qt and D-Bus.