Qt MouseArea 使用移动效果

Qt 中MouseArea 的hoverEnabled使用

hoverEnabled属性:此属性保持悬停事件是否得到处理

hoverEnabled 为 false (默认情况):仅在响应按钮事件或按下按钮时处理鼠标事件。

hoverEnabled 为 true (悬停允许) :处理所有鼠标事件,即使没有按下鼠标按钮。主要影响:

  • containsMouse属性
  • onEntered()信号
  • onExited()信号
  • onPositionChanged()信号

eg:在我们开发控件的时候我们都需要根据控件的不同状态显示不同的颜色,这个时候最为常用的方法就是如下:

/*-------------------------------
  * Author:Teacher zeng
  * Date  : 2020.05
  * Unit description: 用Rectangle自定义button控件
  */
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Templates 2.12 as T

T.Button{
    id: root
    property alias txt:t.text
    property alias border: bg.border
    property alias color : bg.color
    property string txtcolor: ""
    property string txthovercolor : ""
    Text {
       id:t
       anchors.centerIn: parent
       // 当鼠标移动进入的时候显示  hover的颜色  其他情况显示正常颜色 
       color: area.containsMouse ? txthovercolor : txtcolor
    }
    
    MouseArea {
        id: area
        anchors.fill: parent;
        hoverEnabled: parent.enabled; //必须将hoverEnabled设置为true 才可以使用containsMouse属性
        onClicked: root.clicked();
        cursorShape: Qt.PointingHandCursor
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值