Chapter 4. UI, Scripting, Resources

Table of Contents

4.1. UI
4.2. Scripting
4.3. Resources

QtHaskell programs can make use of Qt's XML format for interface design, the "UI" format. QtHaskell also supports Qt's embedded ECMA/Javascript engine to make Qt applications scriptable. Calls can be made from the script environment to the Haskell environment and vice-versa, and values can also be passed back and forth between environments.

4.1. UI

QtHaskell provides a standard wrapper for the the QUiLoader class. In order to connect custom signals and slots for objects described in the ".ui" file, it is necessary to override (i.e. set a handler on) the loader object createWidget method (see the tetrix example). "Built-in" signals and slots can be connected on an object directly by using the qtHaskell findChild function to obtain the object.