qml 拖拽窗体(算法实现)去掉窗体标题栏

本文介绍了一个使用QML实现的窗口拖拽功能示例。通过简单的代码实现了鼠标按下时记录初始位置,并在鼠标移动时调整窗口的位置,从而达到拖拽效果。此示例还展示了如何设置可拖拽区域及去除窗口默认标题栏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试验成功 代码如下:  

import QtQuick2.2

import QtQuick.Window 2.1
import QtQuick 2.0

Window {
    id:window
    visible: true
    width: 850
    height: 500
    property int xx: window.x
    property int yy: window.y
    property int xx1: 0
    property int yy1: 0
    x:xx;
    y:yy
    MouseArea {                         //    拖拽窗体
        id: dragArea
        anchors.fill: control
        hoverEnabled: true
        onPressed: {
            xx1=mouseX
            yy1=mouseY
        }
        onPositionChanged: {
            if(xx1!=0&&yy1!=0){
                xx=xx+(mouseX-xx1);
                yy=yy+(mouseY-yy1);
            }
        }
        onReleased: {
            xx1=0
            yy1=0
        }
    }
/*设置 哪里是 可以拖拽的 区域*/
     Rectangle{
id:control x:0;y:0 
        width:window.width;height: 70
        color:"green"
    }
/*******去掉qml窗体标题框******/
Component.onCompleted: {
        window.flags = 0x0000080
    }

 }


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值