Chapter 1 Introduction to Getting Started with Qt

1.1 Introduction to Qt

Qt is a cross-platform application development framework for desktop, embedded and mobile. Supported platforms include Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS, and more.
Qt itself is not a programming language. It is a framework written in C++. But it's not just a GUI toolkit, it provides cross-cutting tools in the fields of networking, databases, OpenGL, web technologies, sensors, communication protocols (Bluetooth, serial ports, NFC), XML and JSON processing, printing, PDF generation, etc. Modules developed by the platform.
Qt has its own integrated development environment (IDE) called Qt Creator. It runs on Linux, OS X and Windows and offers smart code completion, syntax highlighting, an integrated help system, debugger and analyzer integration, and integration with all major version control systems (eg git, Bazaar).
Qt is a cross-platform C++ application development framework, which is widely used to develop GUI programs, with rich API and object-oriented. Qt is free and open source software released under the terms of the GNU Lesser Public License. A wide range of compilers are supported, including GCC's C++ compiler and Visual Studio.

1.2 History

Haavard Nord and Eirik Chambe-Eng started developing "Qt" in 1991, and founded the company on March 4, 1994. The company was first named Quasar Technologies, then changed to Troll Tech, and then Trolltech. The Chinese name is "Trolltech" ", was acquired by NOKIA on June 17, 2008 to enhance the company's strength in cross-platform software research and development, and changed its name to Qt Software.
On May 11, 2009, Nokia Qt Software announced that the Qt source code management system is open to the public, and Qt developers can help guide and shape the future of Qt by contributing code, translations, examples, and other content to Qt and Qt-related projects. developing. To facilitate the management of this content, Qt Software enables a web source code management system based on the Git and Gitorious open source projects.
On August 9, 2012, Digia announced that it has completed the full acquisition of Nokia's Qt business and software technology, and plans to apply Qt to Android, iOS and Windows 8 platforms.
Currently, QT has released 5.10.1.

1.3 Supported Platforms

Using software developed with Qt, the same code can be compiled and run on any supported platform without modifying the source code. It will automatically display the unique graphical interface style of the platform according to the different platforms.

1.4 Qt modules

Qt5 features a new modular codebase that makes porting easier. Just port the required modules. This is very useful when compiling source code. Qt5 divides all functional modules into three parts: Qt Essentials, Qt Add-Ons, and Qt tools.
Qt has quite a few modules covering file reading and writing, XML manipulation, JSON parsing, regular expressions, smart pointers, multithreading, databases, network operations, image animation, multimedia support, and WebKit.
Qt5.2 also includes serial port, bluetooth, mobile phone satellite positioning and other functions.
Graphical interface library architecture:
write picture description here
If you want to know more detailed information, please visit the Qt official website documentation on modules:
http://doc.qt.io/qt-5/qtmodules.html

1.5 Graphical User Interface

Widget-based GUI; a new QML-based GUI.

1.6 Signals and slots

Signals and slots are the core of Qt, just like MFC's message passing and callback functions. But the function is more powerful than the mechanism and callback function of MFC message processing.

1.7 Interface layout

Qt has a visual development tool QtCreator or QtDesigner. Click and drag with the mouse to generate an interface that meets your needs.

1.8 Nationalization

Qt can easily support multiple languages. For example, when we are developing, as long as the string is placed in 'tr', we can use the tools that come with Qt to extract it into a ts file, and then use Qt Liguist for translation.

Before the formal study, the author will of course recommend a large wave of study materials. Don't talk nonsense, just serve the food directly.

Qt official website information**

Qt official website: https://www.qt.io
Qt download: http://www.qt.io/download
Qt all downloads: http://download.qt.io/archive/qt
Qt official release download: http: //download.qt.io/official_releases/qt
Open SourceDownload: http://www.qt.io/download-open-source/#section-2
Qt WiKi: https://wiki.qt.io/Main_Page

GitHub & Third-Party

QtProject : https://github.com/qtproject
Various powerful Qt projects and rich Qt libraries.

Awesome Qt :
https://insideqt.github.io/awesome-qt
https://github.com/fffaraz/awesome-cpp
http://fffaraz.github.io/awesome-cpp
A collection of powerful C/C++ frameworks , libraries, resources, and other goodies.

inqlude : https://inqlude.org
Qt Libraries Archive - Provides all existing libraries for Qt application developers.

free-programming-books-zh_CN : https://github.com/justjavac/free-programming-books-zh_CN
Free computer programming books in Chinese

community forum

Foreign forums:
Qt-Centre: A very comprehensive foreign website, including forum, wiki, docs, blogs, etc.
http://www.qtcentre.org

Qt-forum : A relatively well-known international Qt programming forum.
http://www.qtforum.org

Qt-Apps : You can find a lot of free Qt applications and get the source code to study and research.
http://qt-apps.org

KDE-Apps :: There are many KDE-Desktop related applications.
http://kde-apps.org

Qt Software : The Qt user community that provides a growing number of third-party commercial and open source software.
http://www.qtsoftware.com

QUIt Coding : A group of talents who enjoy cutting-edge technology development, members of the Qt official ambassador project.
http://quitcoding.com

Domestic forum:
CSDN Qt Forum
http://bbs.csdn.net/forums/Qt
As the largest IT community and service platform in China, CSDN is also continuing to pay attention to the development of Qt, and the Qt technical community has been online for a long time. Knowledge dissemination is carried out inside - ask questions, share some of your own learning experiences, materials, etc.

QTCN development network
http://www.qtcn.org
The earliest and most active Qt Chinese community in China, with rich content, wide coverage, and a large number of online users. There are many enthusiastic and selfless Qt enthusiasts on it. They will help beginners as soon as possible. getting Started.

The Qter open source community
http://www.qter.org
is dedicated to the popularization of Qt! It is rich in practical open source projects and works developed by Qter, as well as a series of excellent original tutorials - illustrated, easy to learn, and strive to help every beginner get started quickly.

Of course, there is still a lot of information. The author of blogs and books will not recommend it. Baidu will have a lot of information. Of course, it’s still the same sentence. The materials are not expensive. Go to the community and read the blogs and books of the big cows. The most important thing is to practice more. , learn to go!

write picture description here

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=324723933&siteId=291194637