The article original in Qter Open source community (www.qter.org), author Yafeilinux, reprint please indicate the source!
I. Introduction to QT and QT Creator
Qt is a cross-platform application and UI development framework. With Qt you only need to develop your application at once, and you can deploy these applications across different desktop and embedded operating systems without having to rewrite the source code.
Qt Creator is a new cross-platform Qtide (integrated development environment) that can be used on its own, as well as a complete set of SDKs (software development kits) with Qt libraries and development tools. These include: Advanced C + + code Editor, project and build management tools, integrated context-sensitive Help system, graphical debugger, code management and browsing tools.
Second, Qt function and characteristics
- Intuitive C + + class Library : The modular Qt C + + class library provides a rich set of application building blocks that contain all the features you need to build advanced cross-platform applications. With intuitive, easy to learn, easy to use, generate good understanding, easy to maintain code and so on.
- portability across desktop and embedded operating systems : With QT, you can deploy across different desktop and embedded operating systems without having to rewrite the source code, and you'll be able to say Qt everywhere (qteverywhere) with just one-time application development.
- Use a single source code base to locate multiple operating systems;
- Code can be deployed across devices by re-using the code;
- Reallocation of development resources without regard to the platform;
- Code is not subject to long-term concerns about the impact of platform changes;
- Let developers focus on building the core value of the software, rather than maintaining the API.
- integrated development tool with cross-platform IDE : Qt Creator is a cross-platform integrated development Environment (IDE) specifically tailored to meet the needs of QT developers. Qt Creator can be run on Windows, linux/x11, and Mac OS X desktop operating systems for developers to create applications for multiple desktop and mobile device platforms (IOS, andoid, etc.).
- high uptime performance on embedded systems with low resource footprint .
third, Qt creator function and characteristics
- Complex Code Editor : Qt Creator's Advanced code Editor supports editing C + + and QML (JavaScript), context-sensitive Help, code completion, native code conversion, and other features.
- version Control : Qt Creator brings together the most popular version control systems, including Git, Subversion, Perforce, CVS, and Mercurial.
- Integrated User Interface designer : QT Creator provides two integrated visual editors: QT Designer for generating user interfaces through Qt widgets, and QT Quick designer* for developing dynamic user interfaces through the QML language.
- project and compilation Management : Qt Creator can generate all the necessary files, whether you are importing an existing project or creating a new project. Includes support for Cross-qmake and Cmake.
- Desktop and mobile platforms : QT Creator supports compiling and running QT applications on desktop and mobile devices. You can quickly switch between target platforms by compiling settings.
- qt simulator : The QT Simulator is part of the QT SDK that allows you to test your mobile device's QT application in a similar environment to your target mobile device.
Iv. QT Class LibraryThe modular Qt C + + class library provides a rich set of application building blocks that contain all the functionality needed to build advanced cross-platform applications.
1. Advanced Graphical user interface (GUI): QT provides you with all the features you need to develop advanced GUI applications on desktop and embedded platforms. QT uses the localized graphics API of the supported platforms to take full advantage of system resources and give the application a localized interface.
- Complete controls from buttons and dialog boxes to tree view and tables (form)
- Auto scale, font, language and screen positioning identify the layout engine
- Supports antialiasing, vector distortion, and Scalable Vector Graphics (SVG)
- Full customization of the user interface with style APIs and form style sheets
- Supports hardware-accelerated graphics and multi-display capabilities for embedded devices
2. Based on OpenGL and OpenGL? 3D Graphics for ES: OpenGL? is a standard graphics library for building high-performance visualization applications that span platforms and support hardware acceleration. Although OpenGL perfectly supports 3D graphics, it does not support the creation of an application user interface. QT solves this problem with a tight integration with OpenGL.
Easily add 3D graphics to your app
- Using OpenGL ES and OpenGL painting engines on embedded Linux and Windows CE platforms
- Use system resources for optimal graphics performance
- Support for Direct3D on Windows platforms?
3. Multithreading: Multithreaded programming is an effective example of a resource-intensive operation that does not freeze the application user interface. QT's cross-platform multithreading capabilities simplify parallel programming, and its additional synchronization capabilities make it easier to take advantage of multicore architectures.
- Easier to manage threads, data, and objects
- QT-based signal and slot for inter-object communication across thread type security
- High-end APIs can compile multithreaded programs without using bottom primitives
4. Compact Windows system for embedded devices: QT is built on a standard API for embedded Linux devices with lightweight window systems. QT-based applications write directly to the Linux frame buffer, releasing your need for the X11 Windows system.
- Reduced memory consumption and lower memory footprint
- You can compile and remove infrequently used components and features
- Can take advantage of hardware accelerated graphics
- Virtual frame buffering on desktop systems for embedded development and debugging
5. Inter-object Communication: In the development user graphical interface, a common, recurring system crash and the root cause of the problem is how to communicate between the different components. For this problem, the solution for Qt is the signal-to-slot mechanism, which executes the observer design pattern. We can simply understand that when a particular event occurs, the signal is emitted, and a slot is a function called the response of a particular signal.
- Signal and slot mechanism is type safe
- Any signal can be connected to any or multiple slots, or across multiple threads
- Simplifies real component programming
6.2D Graphics: QT provides you with a powerful 2D graphics canvas for managing and integrating a large number of graphical elements.
- High-precision visualization of a large number of elements
- Embed form interactions in a graphics scene
- Supports zoom, rotate, animate and * * Transform
7. Multimedia Framework: Qt uses the phonon multimedia framework to provide playback capabilities across desktop and embedded operating systems for a multitude of multimedia formats. Phonon can easily add audio and video playback to QT applications, and extract multimedia formats and frameworks on each target platform.
- Provide multimedia content in a flat form
- Read media from a local file or read streaming media on the network
- Extract QuickTime on Mac? , DirectShow on Windows? and GStreamer on Linux.
8.WebKit Integration: QT WebKit Integration, QT integrates the WebKit function, WebKit is the khtml-based open source web browser engine under the KDE project.
- Integrate web and on-premises content and services in a single rich application
- Quickly create applications that integrate real-time web content and services
- Using HTML and Java Script integrated in native code
- Full Control of cross-platform browser environments
9. Network connection:Qt makes your network programming easier and supports cross-platform network programming.
- Full client/server socket extraction
- Supports HTTP,FTP,DNS with asynchronous HTTP 1.1
- Regardless of HTML and XML or images and media files, it can access all types of data
10.XML:Qt is an XML file and a C + + implementation of the SAX and DOM protocols, providing a streaming media file reader. Qt also includes xquery– a simple SQL-like query language that parses XML files to select and aggregate the required XML elements and translates them into output in XML output or other formats.
- Enables advanced XML queries with only a few lines of code
- Full support for XQuery 1.0 and XPath 2.0
- Query, extract, and transform data from XML in your own application
11. Scripting Engine:Qt includes a scripting engine that fully integrates the ECMA standard. Qtscript provides Qobject integration, integrates the signal and slot mechanisms of QT into scripts, and implements the integration of C + + and scripting.
- ECMA Standard-based scripting language (ECMAScript 3 is the basis of JavaScript1.5)
- Use of QT signaling and slot mechanisms for simplified inter-object communication
- Create a new opportunity to integrate scripts with your QT application
12. Database: QT helps you seamlessly integrate your database with your Qt application. QT supports all major data drivers and allows you to send SQL to the database server or to have the QT SQL class automatically generate SQL queries.
- Support for all major database drivers
- Display data in multiple views or data-aware forms
v. Introduction to QT QuickQt Quick is a technology introduced in the Qt4.7. Qt Quick is an advanced user interface technology that developers and designers can use to collaborate to create animated touch-enabled user interfaces and applications. It is composed of three parts: 1. QML: A declarative language like JavaScript; 2. QT Creator: Intuitive tool in the QT IDE, 3. Qt Declarative: A powerful C + + module.
1. Main components:
- QML: Intuitive JavaScript-based language: QML is an easy-to-use language that developers and user interface designers can use to depict the look and functionality of the user interface without any C + + knowledge.
- shared tools for developers and designers: QT Creator version IDE2.1 will integrate a set of common tools that developers and user interface designers can share to create and implement Qt Quick projects.
- driving QML applications through C + +: The new declarative module in the Qt library supports the generation of dynamically customizable user interfaces and the development of QML applications through C + +.
2. Features:
- rapid development of animated and fluid user interfaces: with intuitive QML language and a rich set of qmlelements--ui and behavioral blocks-you can quickly create impressive user interfaces faster than you think.
- no need for C + + knowledge: If you have JavaScript experience or master basic networking techniques such as HTML and CSS, you can achieve very good results with QML.
- target millions of touchscreen devices: with Qt Quick, you can create a user interface for various types of touch screen consumer electronics devices.
3. Application fields:
- Automotive Infotainment system UI: CyberCom Group's user interface designers and developers tried to use Qt Quick to design ui--for their automotive infotainment platform and achieved satisfactory results.
- social media TV : Mixd.tv uses Qt Quick to create a UI for its cross-platform network TV applications, where users can access and share the content of online video through social media channels.
- Connected Cars: QT's certified Partner Digia quickly learned QT quick and used it to create a high-level car UI that includes navigation, telephony, games, and music features.
QT Official website address: http://www.qt.io/developers/
This article transferred from: http://bbs.qter.org
Introduction to QT and QT Creator