Jeff Tranter

Jeff Tranter

Jeff Tranter is a Qt Consulting Manager at ICS. He oversees the architectural and high-level design of software systems for clients. Jeff’s leadership organizes global teams of developers on desktop and embedded applications. He has been published in Electronic Design magazine.

Articles by Author

Blogs:

Report from Qt Developer Days 2014 San Francisco

Wednesday, October 29, 2014 - 11:49 ">  •  By Jeff Tranter  •  Qt, Developer Days, Conference

Report from Qt Developer Days 2014 San Francisco

Read full post

Report on Qt Developer Days 2014 Berlin

Monday, October 20, 2014 - 10:49 ">  •  By Jeff Tranter  •  Qt Developer Days, Conference, Berlin, Europe

I recently returned from the Qt Developer Days Europe conference and I wanted to share a brief report on some of the highlights of the show.

Read full post

Qt on QNX

Monday, September 22, 2014 - 13:17 ">  •  By Jeff Tranter  •  Qt, QNX, BlackBerry, RTOS

When BlackBerry introduced its new Qt-based BlackBerry 10 platform for smart phones and tablets, it generated a lot of interest in Qt on mobile. BlackBerry 10 is based on the QNX 1 operating system, a subsidiary of BlackBerry. What is perhaps not as well known, is that Qt is well supported on QNX as an embedded operating system in its own right.

Read full post

Qt 5.4.0 Alpha is Out!

Monday, September 8, 2014 - 16:14 ">  •  By Jeff Tranter  •  Qt, QML, 5.4

Representing a significant milestone towards the next Qt release, the alpha version of Qt 5.4.0 came out this week. Qt 5.4.0 will include a number of interesting new features. In this blog post, I will briefly mention just a few of the highlights. QtWebEngine, the replacement for QtWebKit that I described in a blog post a few months ago, will be included in the Qt 5.4.0 release and will be supported on the following desktop platforms: Linux, Mac OS X and Windows.

Read full post

Alternatives for Virtual Keyboards

Monday, August 25, 2014 - 10:43 ">  •  By Jeff Tranter  •  Qt, QML, virtual keyboard, on-screen keyboard, Maliit

With touchscreen-based systems such as tablets, smart phones and embedded devices, there is often a need for a virtual or on-screen keyboard. Qt itself does not provide a virtual keyboard and I am often asked for recommendations on approaches for a virtual keyboard. Let's look at some of the options available.

Read full post

Summer Grab Bag

Monday, August 11, 2014 - 11:04 ">  •  By Jeff Tranter  •  Qt, QML, Raspberry Pi, Yocto, Wayland, Embedded

To better support the embedded market, the Raspberry Pi Foundation now offers the Compute Module (3), a Raspberry Pi in a more flexible form factor intended for industrial applications.

Read full post

What's New in Qt 5.3: QPrinterInfo

Friday, July 25, 2014 - 14:26 ">  •  By Jeff Tranter  •  Qt, QML, QPrinterInfo, printing

The Qt 5.3 release made a lot of "under the hood" improvements to the internals of the Qt printing system. There were also some changes visible at the API level. One of the more noticeable changes was to add enhancements to the QPrinterInfo class. In this blog post, I'll go over this class and present an example application illustrating how to use it.

Read full post

The Whole Shebang - Running QML Files Directly

Friday, June 27, 2014 - 15:13 ">  •  By Jeff Tranter  •  Qt, QML, qmlscene, QML tooling, QML run-time

A new feature in Qt version 5 is an executable program similar to qmlscene that can execute QML files.

Read full post

Retrocomputing: Motif and CDE

Friday, May 30, 2014 - 10:38 ">  •  By Jeff Tranter  •  Motif, CDE, Unix, Raspberry Pi, X11, Linux, Retrocomputing

Introduction In this blog post, we'll look at a couple of older graphical user interface toolkits that were popular in the 1980s and 1990s.

Read full post

The QML Canvas Element

Monday, May 5, 2014 - 09:18 ">  •  By Jeff Tranter  •  Qt, QML, Canvas, HTML5

Perhaps you have been trying to do more with QML than just using the basic elements like rectangles, text and images, or maybe you have been struggling to implement a user interface that doesn't map well into these basic elements. If so, the QML Canvas may be just the solution you are looking for.  In this post, we'll look at Canvas (1), a powerful and useful QML element that is part of Qt Quick. Introduction

Read full post

Building QtWebEngine

Thursday, April 17, 2014 - 09:27 ">  •  By Jeff Tranter  •  QtWebEngine, Chromium

QtWebEngine (1) is a new web rendering engine that is planned to replace QtWebKit in Qt. In this blog post, I'll give a short tutorial describing how to build the current version of QtWebEngine on a Linux desktop system, so you can run some example applications and take a look at the features and API.

Read full post

The BeagleBone Black - A Low-Cost Embedded Platform, Part 3

Tuesday, April 1, 2014 - 15:57 ">  •  By Jeff Tranter  •  BeagleBone Black, OpenEmbedded, bitbake, Qt 5

In part one of this series I introduced the BeagleBone Black, a low-cost embedded computer platform that supports Qt. In part two, we looked at how to get Qt 4 up and running on this platform. In this installment, we'll look at how to get the latest release of Qt, Qt 5, running on the BeagleBone Black. As with Qt 4, we can choose from several approaches.

Read full post

What's New In Qt 5.2: QTimeZone

Wednesday, March 19, 2014 - 10:10 ">  •  By Jeff Tranter  •  Qt, Qt 5.2, QTimeZone

In this post, I will briefly describe a new class, QTimeZone (1), one of several that were introduced in Qt 5.2, and show an example application that uses it. Introduction The QTimeZone class provides detailed information about world time zones, including how to convert between Coordinated Universal Time (UTC), the primary time standard by which the world regulates clocks and time, and local time for a specific time zone, with the details of daylight savings time changes as well.

Read full post

The BeagleBone Black - A Low-Cost Embedded Platform, Part 2

Thursday, March 6, 2014 - 16:20 ">  •  By Jeff Tranter  •  Qt, BeagleBone Black

In part one of this series I introduced the BeagleBone Black, a low-cost embedded computer platform that supports Qt. In this second blog post, I'll look at how to get Qt 4 up and running on this hardware.

Read full post

KDE Frameworks 5 - Taking KArchive for a Test Drive

Monday, February 24, 2014 - 10:09 ">  •  By Jeff Tranter  •  Qt, KDE, Qt 5, KArchive, KDE Frameworks 5

In this blog post, I present a tutorial on setting up and using one of the libraries from the new KDE Frameworks 5, a collection of add-ons to Qt.

Read full post

The BeagleBone Black: A Low-Cost Embedded Platform, Part 1

Monday, February 10, 2014 - 08:47 ">  •  By Jeff Tranter  •  Qt, Qt 4, Qt 5, BeagleBone, BeagleBoard, BeagleBone Black

In this blog post I will look at the BeagleBone Black, a low-cost embedded computer platform that supports Qt.

Read full post

The Raspberry Pi Camera Module

Monday, January 27, 2014 - 13:25 ">  •  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.

Read full post

What's New in Qt 5.2: QCommandLineParser

Friday, January 3, 2014 - 16:01 ">  •  By Jeff Tranter  •  Qt, Qt 5.2, command line parsing, C++

After several failed attempts in the past, thanks to the efforts of Qt and KDE developer David Faure, command line parsing support is now in Qt 5.2.0.

Read full post

What's New in Qt 5.2?

Friday, December 6, 2013 - 13:06 ">  •  By Jeff Tranter  •  Qt, QML, Qt 5.2

Qt 5.2.0 is now out! In this blog post, we'll look at some of the highlights of this new release. Release Timeline Qt 5.2 is a minor release of Qt (as opposed to a major release like Qt 6 or a patch release like 5.1.2). As such, it is binary compatible with other Qt 5 releases. The release occurred on the following timeline:

Read full post

Report on Qt Developer Days 2013 San Francisco

Monday, November 11, 2013 - 13:21 ">  •  By Jeff Tranter  •  Qt, Developer Days, Conference

We've just returned from the Qt Developer Days San Francisco conference last week and I wanted to share a brief report on some of the highlights of the show.

Read full post

Report on Qt Developer Days 2013 Berlin

Tuesday, October 15, 2013 - 09:18 ">  •  By Jeff Tranter  •  Qt, QML, Developer Days, Conference, Berlin

This was the 10th annual Qt Developer Days. The conference is traditionally held in Europe and North America and this year the European show was at the Cafe Moskau in Berlin, the same location as last year.

Read full post

The QML Presentation System

Monday, September 30, 2013 - 09:11 ">  •  By Jeff Tranter  •  Qt, QML

With Qt Developer Days 2013 rapidly approaching, a number of Qt developers are busy preparing presentations for the conference, myself included. I thought it would be timely to give an overview of the QML Presentation System.

Read full post

Qt and C++11

Thursday, August 29, 2013 - 09:27 ">  •  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.

Read full post

The Qt 5 Multimedia QML Elements

Monday, August 19, 2013 - 09:45 ">  •  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.

Read full post

Combining Qt Widgets and QML with QWidget::createWindowContainer()

Friday, August 2, 2013 - 15:43 ">  •  By Jeff Tranter  •  Widgets, QML

Introduction Qt 5.1 introduces a new method in the QWidget class called createWindowContainer(). It allows embedding a QWindow (such as a QQuickView) into a QWidget-based application. This allows combining both QML and widgets in the same application, something that was not possible with Qt 5.0. The new method is well documented (see References at the end of the posting) but I did not see any complete compilable examples of using it, so I thought I would present one here.

Read full post

The Qt Installer Framework

Friday, July 26, 2013 - 12:58 ">  •  By Jeff Tranter  • 

In this blog post, we'll take a very brief look at the Qt Installer Framework. Introduction The Qt Installer Framework allows you to create cross-platform graphical software installers. It supports the desktop platforms supported by Qt: Windows, Mac OS X, and Linux. It allows you to easily create the standard type of graphical installers with multiple pages that guide a user through the process of installation. It also supports uninstalls and the ability to update components.

Read full post

Integrating C++ with QML

Friday, July 19, 2013 - 13:24 ">  •  By Jeff Tranter  • 

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.

Read full post

The Qt Graphical Effects Module

Friday, June 21, 2013 - 11:39 ">  •  By Jeff Tranter  •  Qt, OpenGL, QML

This blog posting gives an introduction to the Qt Graphical Effects module, which is available in Qt 5. As of Qt 5.1.

Read full post