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
- Windows10
- Linux
- Raspberry Pi 3b+: Raspberry Pi cross-compilation configuration
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.
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