Introduction to Qt and Qt Creator, and introduction to qtcreator

Source: Internet
Author: User
Tags qt designer xquery

Introduction to Qt and Qt Creator, and introduction to qtcreator

This article was originally published in The Qter open-source community (www.qter.org) by yafeilinux. For more information, see the source!


I. Introduction to Qt and Qt Creator

Qt is a cross-platform application and UI development framework. With Qt, you can deploy applications across different desktops and embedded operating systems without having to rewrite the source code.


Qt Creator is a brand new cross-platform QtIDE (integrated development environment). It can be used independently or together with the Qt library and development tools to form a complete SDK (software development kit ). These include: Advanced C ++ code editor, project and generation management tools, integrated context-related help systems, graphical debugger, and code management and browsing tools.


Ii. Qt functions and features

  • Intuitive C ++ class library: The modular Qt C ++ Class Library provides a rich set of application block, including all the functions required to build an advanced cross-platform application. Intuitive, easy to learn, easy to use, and easy to understand and maintain code.
  • Portability across desktop and Embedded Operating Systems: With Qt, you only need to develop an application at a time to deploy it across different desktop and embedded operating systems without re-writing the source code. It can be said that Qt is everywhere (QtEverywhere ).
  • Use a single source code library to locate multiple operating systems;
  • You can re-use the code to deploy the code across devices;
  • Development resources can be re-allocated without considering the platform;
  • The code is not subject to long-term considerations of the impact of platform changes;
  • Enables developers to focus on building the core value of software, rather than maintaining APIs.
  • Integrated development tools with cross-platform IDE: Qt Creator is a cross-platform integrated development environment (IDE) tailored to meet the needs of Qt developers ). Qt Creator can be run on Windows, Linux/X11, and Mac OS X desktops for developers to create applications for multiple desktop and mobile device platforms (such as IOS and Andoid.
  • High running time performance on embedded systems, with less resource occupation.

3. functions and features of Qt Creator
  • Complex code editor: The advanced code editor of Qt Creator supports editing C ++ and QML (JavaScript), context-related help, Code Completion, native code conversion, and other functions.
  • 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 using QML language *.
  • Project and compilation Management: Whether importing an existing project or creating a new project, Qt Creator can generate all necessary files. Including support for cross-qmake and Cmake.
  • Desktop and mobile platforms: Qt Creator supports compiling and running Qt applications on desktop systems and mobile devices. With compilation settings, you can quickly switch between the target platforms.
  • Qt Simulator: The Qt simulator is part of the Qt SDK. You can test the Qt application of a mobile device in a similar environment as the target mobile device.
Iv. Qt Class Library Modular Qt C ++ Class Library provides a rich set of Application Generation blocks, including all the functions required to generate advanced cross-platform applications.

1. Advanced graphic user interface (GUI): Qt provides you with all the required functions to develop advanced GUI applications on the desktop and embedded platform. Qt uses the supported platform's Localization graphics API to make full use of system resources and provide the application localization interface.
  • Complete controls (Forms) from buttons and dialog boxes to tree views and tables)
  • Automatic scaling, Font, language, and screen location recognition Layout Engine
  • Support for anti-aliasing, vector deformation, and Scalable Vector Graphics (SVG)
  • Style APIs and form style sheets are available to fully customize user interfaces.
  • Supports hardware accelerated graphics and Multiple display functions of embedded devices
2. 3D graphics based on OpenGL and OpenGL Es: OpenGL is a standard graphics library used to build high-performance visualization applications that support cross-platform and hardware acceleration. While OpenGL perfectly supports 3D graphics, it does not support creating application user interfaces. Qt solves this problem through close integration with OpenGL.
Easily add 3D images to your applications
  • Use OpenGL ES and OpenGL painting engines on Embedded Linux and Windows CE platforms
  • Use system resources to achieve optimal graphic Performance
  • Supports Direct3D on Windows.
3. Multithreading: Multi-threaded programming is an effective example of executing resource-intensive operations without freezing the application user interface. The cross-platform multithreading function of Qt simplifies parallel programming, and the synchronization function attached to it makes it easier to use the multi-core architecture.
  • It is easier to manage threads, data, and objects.
  • Implement inter-thread secure communication between objects based on Qt signals and slots
  • High-end APIs can compile multi-threaded programs without the need to use the bottom Element
4. Compact Windows System for embedded devices: Qt is built on a standard API for Embedded Linux devices with lightweight Windows systems. Qt-based applications directly write data into the Linux frame buffer, removing your need for the X11 Windows system.
  • Reduce memory consumption and reduce memory usage
  • Compilation and removal of infrequently used components and functions
  • Hardware acceleration
  • Virtual frame buffering on the desktop system can be used for Embedded Development and debugging.
5. Communication between objects: In the development of a user GUI, the root cause of a common recurring system crash and problem is how to communicate between different components. For this problem, the Qt solution is the signal and slot mechanism, that is, the Observer design mode. We can simply understand that when a special event occurs, the signal is sent. A slot is a function called the response of a specific signal.
  • The signal and slot mechanisms are type safe)
  • Any signal can be connected to any or multiple slots, or across multiple threads
  • Simplify real component programming
6.2D graphics: Qt provides a powerful 2D graphic canvas for you to manage and integrate a large number of graphic elements.
  • High-Precision visualization of a large number of elements
  • Embed form interaction into graphic scenarios
  • Supports scaling, rotation, animation, and ** Transformation
7. Multimedia Framework: Qt uses the Phonon multimedia framework to provide playback across desktops and embedded operating systems for a large number of multimedia formats. Phonon can easily add the audio and video playback functions to the Qt application and extract multimedia formats and frameworks on each target platform.
  • Provide multimedia content in a parallel ** manner
  • Reads media from a local file or media streams on the network.
  • Extract QuickTime on Mac, DirectShow on Windows, and Gstreamer on Linux
8. WebKit Integration: Qt WebKit integration, that is, Qt integrates the WebKit function. WebKit is an open source web browser engine based on KHTML In the KDE project.
  • Integrate web and local content and services into a single rich Application
  • Quickly create applications that integrate real-time web content and services
  • Use HTML and Java Script integrated in local code
  • Full Control of cross-platform browser Environment
9. network connection:Qt makes network programming easier and supports cross-platform network programming.
  • Complete customer/Server plug-in Extraction
  • Supports HTTP, FTP, DNS, and asynchronous HTTP 1.1
  • Whether HTML or XML or image or media files, it can access all types of data
10. XML:Qt provides a streaming media file reader for XML files and C ++ implementations of the SAX and DOM protocols. At the same time, Qt also contains XQuery, a simple query language similar to SQL, which is used to parse XML files to select and aggregate the required XML elements, and convert them into XML output or other format output.
  • Only a few lines of code are required to implement advanced XML queries.
  • Fully supports XQuery 1.0 and XPath 2.0
  • Query, extract, and convert data from XML in your own applications
11. Script Engine:Qt contains a script engine fully integrated with the ECMA standard. QtScript provides QObject integration. It integrates Qt signals and slots into scripts and integrates C ++ with scripts.
  • Script Language Based on ECMA (ECMAScript 3 is the basis of JavaScript1.5)
  • Use the Qt signal and slot mechanism for simplified object Communication
  • Create new opportunities 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, allows you to send SQL statements to the database server, or enables the Qt SQL class to automatically generate SQL queries.
  • Support all major database drivers
  • Display Data in multiple views or data recognition forms

V. Qt Quick introduction Qt Quick is a technology introduced in Qt4.7. Qt Quick is an advanced user interface technology that allows developers and designers to collaborate to create animated touch user interfaces and applications. It consists of three parts: 1.QML: Declarative language like JavaScript; 2. Qt Creator: an intuitive tool in Qt IDE; 3. Qt Declarative: A Powerful C ++ module.
1. main components:
  • QML:Intuitive JavaScript-based language: QML is a simple and easy-to-use language. Developers and user interface designers do not need any C ++ knowledge, you can use it to describe the appearance and functions of the user interface.
  • Shared tools for developers and designers:Qt Creator IDE2.1 integrates a set of common tools that developers can share with user interface designers to create and implement Qt Quick projects.
  • Push QML applications through C ++:The new Declarative module in the Qt Library supports generating dynamic and customizable user interfaces and expanding QML applications through C ++.
2. features:
  • Rapid development of animated and smooth user interfaces:With an intuitive QML language and a rich set of QMLElements-UI and behavior generation blocks-you can quickly create impressive user interfaces faster than you think.
  • No C ++ knowledge required:If you have JavaScript experience or master basic network technologies (such as HTML and CSS), you can achieve very good results through QML.
  • Targeting millions of touch screen devices:Using Qt Quick, you can create user interfaces for various types of touch screen consumer electronic devices.
3. Application fields:
  • Automotive information entertainment system UI:Cybercom Group's user interface designers and developers tried to use Qt Quick to design the UI for their automotive information entertainment platform-and achieved satisfactory results.
  • Social media TV: Mixd. TV uses Qt Quick to create a UI for its cross-platform network TV application. Its users can access and share online video content through social media channels.
  • Connected vehicles:Qt's Certified Partner Digia quickly learned Qt Quick and used it to create an advanced automotive UI that includes navigation, phone, game, and music features.
Qt official website address: http://www.qt.io/developers/
This 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.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.