Qml self-defined control set and experimental project case

Qml_CustomControl

Description:

This is a set of Qml&QtQuick controls, which are mainly used as sub-controls for subway maps and subway streaming media.

Note: The original ps image cannot be used for commercial purposes, and the background image I have purchased the copyright.

Control level:

  • The level 1 control is in the folder (CustomControl), which is the wheel used in the case, and you can run with the wheel.
  • Level 2 controls are in the folder (Test), and they are packaged based on level 1 controls.

Implementation principle: Refer to "Qt Quick Core Programming", "Qt Creator Quick Start", "Qt and Qt Quick Development Practical Explanation", "Qt 5 Programming Introduction".

Reference blog:

Development & design tools:

The environment where controls & cases have been tested

Qml self-drawing scheme

  • Qml Canvas

The Canvas component is provided in Qml, which has been available since Qt5.0, and most Canvas schemes in html can be used, but the performance is not very good.

  • Qml Shapes

Qml Shapes is a newly added function of Qt5.10 version. It is the best solution for ease of use and performance officially provided.

  • Qml SceneGraph

  • Qml QQuickFrameBufferObject

  • Qml ShaderEffect

  • QVulkanWindow

The next generation of OpenGL, starting from Qt 5.10, also provides vulkan support.

Case test method:

The qmlscene test tool, if you need to create a project-style project, you need to adjust the library path and image resource path.

QtQuick control instructions

Control name Features Case study
ImageMove Picture move MarkDown
ImageScale Picture zoom MarkDown
IpTextInput Ip input box MarkDown
Marquee Text scrolling (Marquee) MarkDown
DragWidget&DragSizeWidget Drag control & control size adjustment MarkDown
Fps The number of frames transmitted per second MarkDown
ImageFlipable Picture flip MarkDown
RotateCursor Control rotator MarkDown
TemplateWidget Custom drag control MarkDown
TextOneByOneShow Text one by one MarkDown
ArcProgressBar (based on Qml Shapes) Arc & ring type progress bar MarkDown
ArcProgressBarCanvas(基于Qml Canvas) Arc & ring type progress bar MarkDown
BarTypeProgressBar Bar type progress bar MarkDown
ImageFlicker The picture flashes regularly MarkDown

QtQuick Comprehensive Case-Qml Lightweight Logging System (C++)

Case name name Case study
QmlLog Qml lightweight log module MarkDown

QtQuick Comprehensive Case-Huizhou Metro Line 1

Note: This case does not exist in reality, it is just my personal imagination.

Video presentation effect

Case name name Case study
MetroDemo Huizhou Metro Line 1 Case MarkDown

Baidu Cloud: Original image of PS site

Extraction code: zag4

Source download:

git clone https://github.com/graycatya/Qml_CustomControl.git

Guess you like

Origin blog.csdn.net/qq_32312307/article/details/114907563