Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. In addition, it is available under free software licenses. Qt GUI is available under commercial licenses from The Qt Company. More info in Drag and Drop Licenses and Attributions On Android, Vulkan headers were added in API level 24 of the NDK.įor more information, see the Hello Vulkan Widget Example and the Hello Vulkan Window Example. On Windows, the SDK sets the environment variable VULKAN_SDK, which will be detected by the configure script. This requires the presence of the LunarG Vulkan SDK. These classes include QMatrix4x4, QVector4D and QQuaternionĪ QWindow created with the QSurface::OpenGLSurface can be used in combination with QPainter and QOpenGLPaintDevice to have OpenGL hardware accelerated 2D graphics, by sacrificing some of the visual quality. The Qt GUI module also contains a few math classes to aid with the most common mathmatical operations related to 3D graphics. The convenience classes include QOpenGLFunctions that lets an application use all the OpenGL ES 2 functions on desktop OpenGL without having to manually resolve the OpenGL function pointers, thus allowing cross-platform development of applications targeting mobile or embedded devices, and some classes that wrap native OpenGL functionality in a simpler Qt API:įinally, in order to provide better support for the newer versions (3.0 and higher) of OpenGL, a versioned function wrapper mechanism is also available: The QOpenGLFunction_N_N family of classes expose all the functions in a given OpenGL version and profile, allowing easy development of desktop applications relying on modern, desktop-only OpenGL features.įor more information, see the OpenGL Window Example. In addition, Qt has QOpenGLPaintDevice, which enables the use of OpenGL accelerated QPainter rendering, as well as convenience classes that simplify the writing of OpenGL code and hides the complexities of extension handling and the differences between OpenGL ES 2 and desktop OpenGL. OpenGL rendering is enabled by setting the QWindow's surface type to QSurface::OpenGLSurface, choosing the format attributes with QSurfaceFormat, and then creating a QOpenGLContext to manage the native OpenGL context. QWindow supports rendering using OpenGL and OpenGL ES, depending on what the platform supports. Applications that prefer more low-level APIs to text and font handling, classes like QRawFont and QGlyphRun can be used. Typography in Qt is done with QTextDocument which uses the QPainter API in combination with Qt's font classes, primarily QFont. For more information, see Reading and Writing Image Files Users can add support for additional formats via the QImageIOPlugin class. By default, Qt supports the most common image formats including JPEG and PNG among others. Qt can load and save images using the QImage and QPixmap classes. For more information, see Paint System and Raster Window Example. QPainter supports drawing lines, polygons, vector paths, images and text. The Qt GUI module contains classes for 2D graphics, imaging, fonts and advanced typography.Ī QWindow created with the surface type QSurface::RasterSurface can be used in combination with QBackingStore and QPainter, Qt's highly optimized 2D vector graphics API. It provides a number of virtual functions to handle events ( QEvent) from the windowing system, such as touch-input, exposure, focus, key strokes and geometry changes. The QWindow class represents a window in the underlying windowing system. It also handles the application's initialization and finalization. QGuiApplication contains the main event loop, where all events from the window system and other sources are processed and dispatched. A Qt application that wants to show content on screen, will need to make use of these. The most important classes in the Qt GUI module are QGuiApplication and QWindow.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |