"Qt" About QT

Source: Internet
Author: User


What is QT

QT is a cross-platform application development framework for desktop, embedded, and mobile devices, supported by Linux, OS X, Windows, VxWorks, QNX, Android, IOS, BlackBerry (BlackBerry), Sailfish OS (Swordfish OS) and so on.

QT 1991 by Trolltech-Technology (founded in 1994) development, 2008, Trolltech was acquired by Nokia, 2012, QT was Digia acquisition.

QT is a C + + written framework that can be used to develop both GUI programs and non-GUI programs, such as console tools and servers. Preprocessor, MOC (full name: Meta-object compiler-Meta object compiler) is used to extend C + +, such as: signal and slot characteristics. Before compiling, use the MOC to parse the QT extension's C + + source files (detect if the Q_object macros are included), and then generate source files that conform to the C + + standard (the new file name will be made up of MOC_ plus the original file name). So the framework itself and the application/library use it to be compiled by any compiler conforming to standard C + + (like clang, GCC, ICC, MinGW, and MSVC).

    • What is QT
    • History
      • Qt1-3
      • Qt4
      • Qt5
    • Platform Support
    • Advantages
    • Qt Creator
      • Brief introduction
      • Features and benefits
    • Qt Designer
    • Qt linguist
      • Brief introduction
      • How to use
    • Qt Assistant


QT's first commercial version was launched in 1995, and then QT developed quickly, following a number of milestones in QT history, from the previous qt1.x to the present qt5.x.

version Release date
1.40 Ten July 1998
1.41 2 October 1998
1.42 1998 December
1.44 1999 March
2.0 1999 June
2.1 April 2000
2.2 7 December 2000
2.3 8 March 2001
3.0 2001 October
3.1 2001 November
3.2 2003 July
3.3 5 February 2004

Trolltech released Qt4.0 in June 2005 28, introducing five new technologies for the framework:

    1. A set of template container classes
    2. Provides a set of model-view-controller architectures for item views
    3. Two-dimensional drawing frame
    4. A public API that provides a Unicode text renderer for low-level text layouts
    5. Action-based MainWindow, including: toolbars, menus, and docking systems
version Release date new Features
4.1 2005 December Introduction of integrated SVG micro support, a PDF of the back-end QT printing system, and some other features.
4.2 4 October 2006 Describes the support for Windows Vista, the CSS styling support for widgets, and the Qgraphicsview framework-efficiently rendering thousands of 2D objects on the screen to replace the Qcanvas class in qt3.x.
4.3 2007 Improved support for Windows Vista, improved generation of OpenGL engines, SVG files, and increased Qtscript (QSA-based ECMAScript scripting engine).
4.4 6 May 2008 Features include improved multimedia support (using phonon), enhanced XML support, a centralized IPC framework for shared memory, and WebKit integration.
4.5 3 March 2009 Main features include qtcreator, improved graphics engine, WebKit integration, OpenDocument format write support and new licensing options, and OS X Cocoa Framework support.
4.6 1 December 2009 New API framework-animations, gestures, multitouch. Supports Symbian, Windows 7, and Mac OS X 10.6, supporting the expansion of some UNIX systems. Improvements in overall performance have also been achieved.
4.7 2010 September QML and Qt Quick
4.8 2011 December QT platform abstraction, support single-threaded OpenGL, multi-threaded HTTP, optimized file system access.

Qt5 in December 2012 19, this new version marks a significant change in the platform, hardware accelerated graphics, QML and JavaScript play an important role. Traditional C + +-only qwidgets continues to be supported, but does not benefit from the performance improvements of the new architecture, QT5 brings significant improvements in speed and user interface, QT5 development framework moves to qt-project.org. External developers can submit patches for digia companies and have them reviewed.

version Release date new Features
5.0 2012 December A series of major reforms to the qt4.x. Complete support for Wayland.
5.1 3 July 2013 A preview of the new module and the experimental support technology for Android and iOS.
5.2 2013 December The first officially supported version of Android and iOS.
5.3 2014 Focus on stability and availability
5.4 Ten December 2014 Full WINRT and Windows Phone support. Introduces chromium-based QT webengine internal components, which will replace Qtwebkit in a future release. Dynamic GL Graphics switching in Windows (angle or OpenGL) backend, localized "look and feel" in Qtquick control on the back end of the Android platform, introducing QT Webchannels to provide qobject to WebSockets bridges. Initially using only QT WebKit integration, but also under 5.5 qt Webengine integration
5.5 1 July 2015 Qt5.5 according to the official website features: The new module: Qt 3D, Qt Canvas 3D, QT location. Obsolete modules: Qt WebKit, Qt declarative (QT Quick 1), Qt Script. The final version of the Bluetooth API, the new video filtering framework, the camera and qml MediaPlayer improve iOS, the NFC,SSL/TLS for Linux improved QT Network
5.6 Alpha release:8 September Final release Plan:8 December 2015 Notable improvements: QT Core: Some performance improvements, including memory usage and performance optimization to reduce dynamic performance qstring QT Network: support for HTTP redirection QT GUI: Improved cross-platform OpenGL ES3.0 and 3.1 qt Multimedia: Add QML Type playlist Qt webengine: API based on chromium 45, custom URL scheme, block and block network requests, and track or block cookies qtqml: Reduce memory consumption embedded platform: support Intel atom-based NUCs obsolete modules: Qt Script, QT enginio deleted modules: Qt WebKit, Qt declarative (QT Quick 1)
Platform Support

QT supports the following platforms:

    1. ms/windows-95, 98, NT4.0, ME, 2000, XP, Vista, Win7, Win8, win2008, Win10
    2. Unix/x11-linux, Sunsolaris, HP-UX, CompaqTru64 UNIX, Ibmaix, SGI IRIX, FreeBSD, Bsd/os, and many other X11 platforms
    3. Macintosh-mac OS X
    4. Embedded-embedded Linux platform with frame buffer (framebuffer) support, Windows CE
    5. Symbian, Symbian^3, Symbian Anna, Symbian Belle, MeeGo

qt and X Window on the Motif, Openwin, GTK and other graphical interface library and the Windows platform MFC, OWL, VCL, ATL is the same type of thing, but Qt has the following advantages:

    • Excellent cross-platform features:
      QT supports the following operating systems: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix , FreeBSD, Bsd/os, SCO, AIX, OS390,QNX, etc.

    • Object Oriented
      QT's good encapsulation mechanism makes QT modular degree very high, reusability is good, for user development is very convenient. Qt provides a security type called Signals/slots to replace Callback, which makes collaboration between components very simple.

    • a rich API
      QT includes up to 250 C + + classes and is also used for template-based collections, serialization, file, I/O device, directory Management, date/time classes. It even includes the ability to handle regular expressions.

    • Supports 2D/3D graphics rendering, supports OpenGL

    • A large number of development documents

    • XML Support

Introduction to Qt Creator

At the same time as Qt 4.6 was released, the Qt Creator, a cross-platform IDE for QT Development, also released an updated version. QT Creator 1.3 and QT 4.6 together comprise the QT SDK, which includes all the features needed to develop cross-platform applications.

Qt Creator is a lightweight, cross-platform, integrated development environment for QT development. Qt Creator offers two key benefits: the first integrated development environment (IDE) designed to support cross-platform development, and the ability to quickly get up and working with the first-time developer of the QT framework. Qt Creator is an easy-to-use and powerful IDE, even without the development of QT applications.

QT Creator includes a Project Generation Wizard, advanced C + + code Editor, tools for browsing files and classes, integrated Qt Designer, Qt Assistant, Qt linguist, graphical GDB debug front end, integrated qmake build tools, and more.

Features and benefits

Qtcreator is primarily designed to help new QT users get started and run projects faster, as well as to improve the productivity of experienced QT developers.

    • Use the powerful C + + code Editor to quickly write code

Syntax identification and code completion when you enter static code validation and hint style context-sensitive Help code folding bracket matching and bracket selection mode advanced editing features

    • Managing source code with the Browse tool

Integrated with leading version control software including Git, Perforce and subversion open files, no need to know the exact name or location to search for classes and files across different locations or files with symbols in header files and source files, or switch between declarations and definitions

    • Tailored to the needs of QT cross-platform developers

Integration of QT-specific features such as signal and slot (signals & Slots) Diagram debugger, QT class structure can be seen at a glance Integrated QT designer visual layout and Format builder just click to build and run QT Project

Qt Designer

QT Designer, known as QT designers, is used to design and build a graphical user interface (QT Widgets). You can combine and customize a window or dialog box (WYSIWYG) and test it with a different style and resolution. Seamlessly integrates programming code with widgets and tables created with QT Designer, using the QT signal and slot mechanism, which makes it easy to distribute the behavior of graphical elements. All the properties set in the QT designer can be changed dynamically in the code. In addition, similar to plug-in promotion and custom plugin features, you can use your own components to use QT Designer.

Note: You can also choose to use QT quick to design the user interface instead of QT Widgets. This makes it easier to write a wide variety of applications. It can fully customize the look, touch the elements of the reaction, smooth the animation transitions, support OpenGL graphics acceleration function. If you are new to QT Designer, take a look at the QT designers documentation. For more information on how to use QT designers, see the QT Designer QuickStart.

Introduction to Qt linguist

Qt linguist is called Qt language home. The main task is to read the translation files, to provide translators with a friendly translation interface, is an important tool for the internationalization of the interface. It can help you to read the C + + language very easily.

How to use

Lupdate can extract the strings that need to be translated in. h,. cpp,. UI to form a. ts file and then translate it with linguist. Generate. QM with Lerealse.

Translating a QT application that contains a TR () call requires the following three steps:
1. Run Ludate to extract all user-visible strings from the application's source code.
2. Use QT linguist to translate the application.
3. Run lrelease, generate a binary. qm file, the application can load this file using Qtranslator.
If there are translation changes in the development project, you can perform this procedure multiple times!

Qt Assistant

QT Assistant, known as the Qt Helper, is a customizable, redistributable Help file browser that comes with Qt. It supports HTML files that users can use to customize their own powerful Help document browser.

Blog [about QT] from blogger [one to two or three miles]

"Qt" About QT

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

Tags Index: