QT QML 实现的摇杆按钮,类似王者荣耀 左边方向导航键

特点:在一定范围内,调整第一次按的点为中心点,然后可以开始滑动,输出坐标变化的值。

调试时辅助线显示出来如下图

此控件已封装为单独的qml组件, UI风格可更改,改图片就行

已封装为单独的QML组件文件,直接插入项目使用

提供信号如下:

1、开始按下信号

2、停止按下信号

3、X,Y坐标变化信号

可根据情况增加自定义信号

css 复制代码
property real   xAxis:                  0
property real   yAxis:                  0

signal timerControl(int status)
// 1  按下的信号
// 2  松手的信号
css 复制代码
    DirectBtnRange{
        id:bomdirecrangebtn
        anchors.right:          parent.right
        anchors.top:         parent.top
        anchors.rightMargin:    -xPositionDelta + 70 -20 - 20
        anchors.topMargin:    yPositionDelta + 100 +50
        width: 224 + 124*2
        height: 224 + 124*2
        color:              "transparent"
        onTimerControl: {
            if(status === 1){
                direcTimer.running = true
            }
            else{
                direcTimer.running = false
            }
        }
    }

    Timer{
        id:direcTimer
        interval: 100
        running: false
        repeat: true
        onTriggered: {
                console.log("bomdirecrangebtn.xAxis = __",bomdirecrangebtn.xAxis)
                console.log("bomdirecrangebtn.yAxis = __",-bomdirecrangebtn.yAxis)
        }
    }
相关推荐
不会c嘎嘎1 天前
QT中的常用控件 (二)
开发语言·qt
宠..1 天前
优化文件结构
java·服务器·开发语言·前端·c++·qt
CoderIsArt1 天前
基于iSCSI的光存储软件架构设计 (Windows + Qt版本)
开发语言·windows·qt
深蓝海拓1 天前
PySide6从0开始学习的笔记(二十二) 几种封装信号传递内容的方法
笔记·python·qt·学习·pyqt
赤鸢QAQ1 天前
PySide6批量创建控件
python·qt·pyqt
宠..1 天前
奇怪的语法错误
运维·服务器·数据库·qt·microsoft
长沙红胖子Qt1 天前
QXlsx开发笔记(三):单元格边框合并,设置宽度、高度、边框样式等综合操作Demo
qt·qxlsx
Henry Zhu1232 天前
Qt事件驱动与信号槽原理分析
qt
qq_401700412 天前
QBoxLayout支持水平布局和垂直布局构建一个键盘
qt
Henry Zhu1232 天前
Qt实现事件发布订阅系统
开发语言·qt