about * installation * usage * features * plugins * todo * screenshots * download

‘qtour’, tournament management application


qtour is a Qt-based GUI application for interpretation of sporting tournaments. It uses the libtour C++ library as its processing engine. qtour is released under the GNU General Public License.

In order to work with a tournament, libtour needs the tournament definition written in the Scheme programming language. Several such definitions are shipped with the libtour distribution (FIFA WC, Ice Hockey WC, and NHL for 2002-4) and therefore available at this time.

For information on tournament interpretation please read (a couple of introductory pages of) the libtour manual


The following software is required to install qtour:

Once you have it all, just cd to the qtour source directory and type

$ ./configure
$ make
$ su
$ make install

If configure script has trouble locating your Qt installation, see

$ ./configure --help | grep -i qt

If your Qt is pre-3.3.0, you will have to install a newer one to compile qtour.


To run it, type

$ qtour

or, to load a tournament at startup (fifawc2002 in this example)

$ qtour fifawc2002

By default, the tournament definitions from the libtour installation ($prefix/share/libtour/scheme/) will be used, but you can choose to load from a different directory:

$ qtour -d <path-to-my-scm-dir>

Some random remarks that should get you started:

  • Use right click in selector and schedule panes for a context menu with available options
  • Examine available shortcuts in the window's menu (Ctrl-S -- save, Ctrl-T -- show management frame etc)
  • To enter/replace a game result in the schedule pane, select a game result cell, it will change its color if editable. Selecting another cell or hitting enter commits the game result. To delete a game result, right-click on it and select the popup menu item. To enter a boolean field of a game result (like OT field in an NHL tournament), enter '-' or '0' for 'false', and '+' or '1' for 'true'
  • You cannot edit a game result of a complete stage. To un-complete a stage right-click on a game result cell in the schedule view. Note: this will invalidate the following stages, if any
  • If you want to discard your changes just unload the tournament and load it again
  • A stage becomes complete automatically when the last required game result is entered; you can tell the state of a stage/group by the icon in the selector frame (`C' stands for `complete', `R' for `ready', `U' for `uninitialized')
  • You can view the information for uninitialized stages as well but teams will be shown as IDs in angle brackets; this is because the real teams are not known for uninitialized stages
  • The first time you load a tournament, the application will copy the tournament's results from $prefix/share/qtour/data/ to $HOME/.qtour/ directory, if available. When you save a tournament, its result file is updated in $HOME/.qtour/
  • To fetch game results from an external source, use preferences to associate a plugin application to one or more tournaments (regular expressions for tournament names are accepted, e.g. nhl*, or even * works). Currently available plugins are nhl-espn.pl (source: espn web site, used to work... apparently they now make extra checks before serving the pages...), and nhl-libtour (source: tourcli batch files) but you can always write your own. Then switch to schedule view and look under Tools menu for fetch menu items. Use Ctrl-M to show/hide fetch monitor

Unsorted list of qtour capabilities:

  • Load/unload a tournament definition (rules, schedule, teams)
  • Load the game results or enter them interactively
  • View tables of standings, game schedule, and team definitions for groups and overall (per stage)
  • View tournament, stage, and group information
  • Manage more than one tournament at a time
  • Filter out the game schedule by dates and/or teams
  • Open multiple windows to have simultaneous views on different data
  • Show/hide a tournament within a window
  • Manage sorting conflicts
  • Save the results
  • Set preferences for window size and tournament definition load path
  • Use external programs (plugins) to fetch game results from the internet or any other source (new in 0.4.0)

Plugins are external programs used by qtour to fetch results from the Internet or any other source. Plugins are installed in $prefix/share/qtour/plugins/ or/and any other directory as defined in qtour preferences.

You can write your own plugin following the rules described below.

  1. a plugin can be written in any language, be executable and placed in a plugin search path
  2. tournament name is passed to the plugin program as first argument
  3. a plugin should read request from standard input and write reply to standard output; stderr is OK too; the plugin should makes sure that stdout and stderr are unbuffered
  4. request consists of one or more lines, each line specifies the game which result to fetch; each line contains four fields separated by comma (,); the fields are:
    • game id (a string unique per request, corresponds to game ID in the schedule view)
    • date (format YYYYMMDDHHMM, corresponds to game DATE in the schedule view)
    • team 1 (corresponds to TEAM name in the team view)
    • team 2 (ditto)
  5. reply either reports a fatal error or contains one line for each game
    • success (3 fields): 0,<game-id>,<game-res>
    • game not started (3 fields): 1,<game-id>,<info>
    • game not finished (4 fields): 2,<game-id>,<game-res>,<info>
    • game not found (2 fields): 3,<game-id>
    • fetch error, fatal (2 fields): 4,<info>
    • request error, fatal (2 fields): 5,<info>
    • get warning (2 fields): 6,<info>
    where <game-id> as in request, and <game-res> is a space-separated game result, <info> is an arbitrary text (with no commas!)

The libtour features not implemented thus far:

  • creation/deletion of filtered groups
Entering game results in the schedule frame Tournament management frame
Table of standings frame Excessive (unnecessary) games are grayed out
Download Current release of qtour is 0.4.0.

Last modified: 29.06.05 (23:11:31) vktr-at-users-dot-sourceforge-dot-com, Viktor Pavlenko

SourceForge.net Logo