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)
        }
    }
相关推荐
秋田君17 小时前
QT_JSON文件操作
开发语言·qt·json
大白同学42117 小时前
初识Qt——信号和槽
开发语言·qt
秋田君19 小时前
QT_INI文件操作
开发语言·qt
≮傷£≯√19 小时前
FFmpeg + qt 音频播放
qt·ffmpeg·音视频
youqingyike19 小时前
【无标题】
前端·qt
程序员老陆20 小时前
Qt::WidgetAttribute 常用属性详解
开发语言·qt
程序员老陆1 天前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频
Quz1 天前
QML TextArea 入门(二):富文本与换行模式
qt
大白同学4212 天前
初识Qt——创建第一个Qt项目
开发语言·qt
秋田君2 天前
QT_绘图原理双缓冲机制
服务器·数据库·qt