Difference between revisions of "Applications/Qt"

From HPC
Jump to: navigation , search
m
m
Line 11: Line 11:
  
 
===Module===
 
===Module===
 +
 
<pre style="background-color: #000000; color: white; border: 2px solid black; font-family: monospace, sans-serif;">
 
<pre style="background-color: #000000; color: white; border: 2px solid black; font-family: monospace, sans-serif;">
 
[username@login01 ~]$ module add qt/gcc/4.8.6
 
[username@login01 ~]$ module add qt/gcc/4.8.6

Revision as of 09:51, 10 April 2017

Application Details

  • Description: Qt is a cross-platform application framework that is used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while still being a native application with native capabilities and speed.
  • Version: 4.8.6 (compiled with gcc)
  • Module: qt/gcc/4.8.6
  • Licence: open-source governance (commercial and open-source)

Usage Examples

Normally used either as a library or as part of a larger workflow, rather than a standalone Viper element. In either case ensure that the appropriate module load command is added to this section of the script.

Module

[username@login01 ~]$ module add qt/gcc/4.8.6

Qt Library

Primarily a graphics library but also encompassing operating system independent routines and structures in C++ for file access and many other things, for writing of operating system agnostic applications.

Its library structure is separated into the following distinct areas:

  • Qt Core - The only required Qt module, containing classes used by other modules, including the meta-object system, concurrency and threading, containers, event system, plugins and I/O facilities.
  • Qt GUI - The central GUI module. In Qt 5 this module now depends on OpenGL, but no longer contains any widget classes.
  • Qt Widgets - Contains classes for classic widget based GUI applications and the QSceneGraph classes. Was split off from QtGui in Qt 5.
  • Qt QML - Module for QML and JavaScript languages.
  • Qt Quick - The module for GUI application written using QML2.
  • Qt Quick Controls - Widget like controls for Qt Quick intended mainly for desktop applications.
  • Qt Quick Layouts - Layouts for arranging items in Qt Quick.
  • Qt Network - Network abstraction layer. Complete with TCP, UDP, HTTP, SSL and since Qt 5.3 SPDY support.
  • Qt Multimedia - Classes for audio, video, radio and camera functionality.
  • Qt Multimedia Widgets - The widgets from Qt Multimedia.
  • Qt SQL - Contains classes for database integration using SQL.
  • Qt WebEngine - A new set of Qt Widget and QML webview APIs based on Chromium.
  • Qt Test - Classes for unit testing Qt applications and libraries.


Compilation

Libgd is a library for use either with a compiled binary that requires it, or it could be required at compilation time also.

A typical code (C++) snippet requiring is shown below:


#include <QApplication>
#include <QPushButton>
 
int main(int argc, char **argv)
{
 QApplication app (argc, argv);
 
 QPushButton button ("Hello world !");
 button.show();
 
 return app.exec();
}


Further Information

Icon home.png