![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QML
QML
Funny-Boy
这个作者很懒,什么都没留下…
展开
-
QML使用基础(1-30)
qml、qquick基础原创 2022-11-11 10:06:55 · 194 阅读 · 0 评论 -
QML自定义实现ScrollBar
import QtQuick 2.6/* 滚动条-竖向滚动条可配合 Qt ListView ,Qt Flickable ,等等使用。 TScrllbarV{ target:listView; }*/Item { id:toou2d_scrollbarv; width: 22; property Flickable target: parent; //0 - 1 property double yPosition: 0; //可变小原创 2021-09-15 17:24:01 · 876 阅读 · 0 评论 -
QML使用QPainter
一、谈谈QPainter如果能良好的使用QPainter,那Qt已经入门一半了。QPainter如此神奇,好比神笔马良的画笔,能够实现你能看到的所有2D控件。无论是搭配QWidget, 还是搭配QGraphicsItem, 甚至搭配QQuickItem,都能实现你想要的控件。二、说说QPainter在QQuickItem中实现的原理首先要使用QPainter,那么QQuickPaintedItem必不可少。继承自QQuickItemQQuickItem,是依赖QSG框架实现的,通过QSGNode原创 2021-09-01 20:01:40 · 547 阅读 · 0 评论 -
QML 封装使用SVG 和Iconfont
直接上代码1、使用SVG图import QtQuick 2.6/* https://www.iconfont.cn svg 是一种比较流行的icon 源。 默认是异步加载的,可提高性能。 因为需要寻找svg资源,这点没有AwesomeIcon 方便。*//*! TODO */Item { id:toou2d_svgicon width: 16; height: 16; property bool asynchronous : true;原创 2021-08-31 17:29:38 · 1902 阅读 · 0 评论 -
QML之实用技巧
1. 使用get函数获取QQuickItem封装类的私有属性类 auto item = new QQuickItem(); auto prv = QQuickItemPrivate::get(item); prv ->anchors()->setFill(root);原创 2021-07-28 10:46:21 · 129 阅读 · 0 评论 -
QQuick之Flickable
为什么要有Flickable?其实类似QWidget中的scroll,在显示不了所有内容的情况下,提供一个滚动窗口效果。Flickable相比scroll还是有区别的,Flickable可以在触控的时候,保持pressing状态,使得画面跟着手指滑动。Flickable实现原理TODO...原创 2021-04-17 09:21:43 · 396 阅读 · 0 评论 -
QML之3D(一)—最简单的使用Demo
最简单的QML显示3D图形Entity { id: sceneRoot //相机设置 Camera { id: camera projectionType: CameraLens.PerspectiveProjection fieldOfView: 45 aspectRatio: 16/9 nearPlane : 0.1 farPlane : 1000.0 position:原创 2021-01-05 21:26:41 · 1756 阅读 · 0 评论 -
QML之插件
QML之插件使用插件的好处导入自定义QML组件时,它会首先加载到内存中。为了缩短启动时间,您可以将组件改为插件,在这种情况下,一旦创建了对象,它就会被动态加载。子类化QQmlExtensionPlugin创建一个qmldir文件描述此插件class TimeModel : public QObject{ Q_OBJECT Q_PROPERTY(int hour READ hour NOTIFY timeChanged) Q_PROPERTY(int minute READ原创 2020-12-18 10:20:18 · 833 阅读 · 0 评论 -
QML之混合编程:QQmlContext(一)
QML之C++混合编程QML访问C++上下文属性例如:// main.cpp#include <QGuiApplication>#include <QQmlApplicationEngine>#include <QQmlContext>#include <QColor>int main(int argc, char *argv[]){ QGuiApplication app(argc, argv); QQmlApplica原创 2020-12-17 10:44:50 · 866 阅读 · 0 评论 -
QML之MVC
QML之MVCModel/View/Delegate主要功能Model保存数据View显示数据的容器,可能显示为表格或者列表Delegate 装饰数据,协助View回写数据。MVC优点:底层数据改变只需要修改Model一个Model可以映射到多个View上在处理大数据时,每个组件各司其职,不至于降低性能。各个组件解耦,增加复用性,维护性。使用ListModel { id: teamModel ListElement { teamName: "Te原创 2020-12-17 10:09:27 · 689 阅读 · 0 评论 -
QML之全局变量
QML之全局变量C++形式根据功能定义不同类,例如:程序设置类: class Settings : public QObject{ Q_OBJECT public: Q_PROPERTY(QString appName MEMBER m_appName) private: QString m_appName = "MyApp"; }和网络类: class Networks : public QObject{ Q_OBJECT }原创 2020-12-03 09:56:07 · 2140 阅读 · 0 评论 -
QML之混合编程:注册类(二)
QML之C++交互编程Integrating QML and C++一、 QML调用C++使用元对象系统将C++类暴露Q_PROPERTY注册属性Q_ENUMS声明枚举Q_INVOKABLE标记public函数 #ifndef BACKEND_H #define BACKEND_H #include <QObject> #include <QString> class BackEnd : public Q原创 2020-12-02 15:40:01 · 804 阅读 · 0 评论 -
QML之零碎知识点
QML之零碎知识点属性别名(property alias别名使用), 主要为了暴露内部属性元素加载拦截 Component.onCompleted:{} dpi : property real dpi: Screen.pixelDensity.toFixed(2)测时函数 function longtimeRunning(callback) { var timeStart = Date.now(); callback(); retur原创 2020-12-02 14:33:53 · 142 阅读 · 0 评论 -
QML之Repeater
QML之RepeaterDelegates are exposed to a read-only index property that indicates the index of the delegate within the repeater. For example, the following Text delegate displays the index of each repeated item Column { Repeater { mode原创 2020-12-02 14:23:19 · 240 阅读 · 0 评论 -
QML之default(关键字)
QML之default(关键字)An object definition can have a single default property. A default property is the property to which a value is assigned if an object is declared within another object’s definition without declaring it as a value for a particular property.原创 2020-12-02 14:22:12 · 286 阅读 · 0 评论 -
QML之动态创建
QML之Loader(延时加载) import QtQuick 2.0 Item { width: 200; height: 200 Loader { id: pageLoader } MouseArea { anchors.fill: parent onClicked: pageLoader.source = "Page1.qml" } } Using a Loader within a View原创 2020-11-27 14:11:45 · 275 阅读 · 0 评论 -
QML之Toou 2D 框架
QML之Toou 2D 框架TAvatar(头像) TAvatar{ width: 60; height: 60; source: "qrc:/res/2.jpg" radius: height / 2; border.width: 1; border.color: "#F56C6C" }用图标、图片或者字符的形式展示用户或事物信息TAwesomeIcon超级流行的 Font Awesome原创 2020-11-26 13:39:07 · 980 阅读 · 0 评论 -
QML之动画
QML之动画行为动画一个特定的属性值改变时要应用一个动画,可以使用一个Behavior为一个属性改变指定一个默认的动画import QtQuick 2.0Rectangle {id: rectwidth: 100; height: 100color: “red” Behavior on width { NumberAnimation { duration: 1000 } } MouseArea { anchors.fill: parent on原创 2020-11-24 10:35:17 · 237 阅读 · 0 评论