Interfaces to the Qt framework from R

This project aims to create a coherent collection of R packages that provide an interface to the Qt application and UI framework, with a focus on enabling GUI development and advanced graphics.

The project is in an early development stage, and there is no documentation yet. However, it should be possible to install the packages (from source) in the usual way (R CMD INSTALL or install.packages()) on Linux or Mac OS X provided you have installed the Qt libraries and development packages (Qt 4.5 or better). For example,

install.packages(c("qtdevice", "qtpaint", "mosaiq"),
                 repos = "http://r-forge.r-project.org")
If you have multiple versions of Qt installed, make sure the QMAKE environment variable points to the correct qmake executable (check $QMAKE --version).

The project summary page can be found here.

Installing Qt

Qt 4.5 or better is required for these packages. Qt binaries can be downloaded from this website for Windows, Mac, and Linux. The smaller "Framework Only" download is sufficient.

Using Qt Assistant to Browse R documentation

Qt comes with a standalone application called Qt Assistant, an advanced HTML help browser with an excellent user interface and powerful features such as keyword indexing and full-text search, that is used to display Qt documentation. Assistant is designed to be used with third-party documentation as well, but such use requires all relevant files to be registered and compiled into a binary collection beforehand.

R has a slightly different documentation model: it makes documentation available dynamically, depending on the packages currently in use. Even more dynamic documentation is planned for future versions, where documentation may be generated on-the-fly during a running R session. This model is incompatible with Qt's model of static documentation.

Having said that, most R sessions do not involve installing new packages, and it is a good compromise to have static versions of documentation for all installed packages available with a superior interface. The file rassistant.R provides tools to register and compile (and optionally run) currently available R HTML documentation into a form suitable for Qt Assistant. To use it on Linux/UNIX, type the following on the R command line:

source("http://qtinterfaces.r-forge.r-project.org/rassistant.R")
generateCompiledHelpUnix()
generateCompiledCollection(start.assistant = TRUE)
On the first run, this will produce a compiled help file rproject.qch and a compiled collection file rproject.qhc in the user's home directory (the first step may take a while to run), and open it with Assistant. The files are actually self-contained, and may be moved to other systems and used with Assistant as a standalone help collection.

In subsequent sessions, just running

source("http://qtinterfaces.r-forge.r-project.org/rassistant.R")
generateCompiledCollection(start.assistant = TRUE)
should start Assistant without regenerating the help file. On UNIX systems, Assistant can be run as a standalone application from the command line using
$ assistant -collectionFile ~/rproject.qhc
(the location is customizable).

Talks and demos


R-Forge Logo