首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏jiajia_deng

    Qt Quick QML MouseArea 事件穿透

    MouseArea 是 QML 中一个不可见的鼠标操作区域,可响应所有鼠标事件。一般情况下在自定义按钮、自定义需要鼠标交互的区域时使用。 开启事件传递 MouseArea 有一个属性为 propagateComposedEvents,默认为 false,当设置为 true 时,就可以将事件传递给重叠的其他鼠标区域了(包括控件),见 Qt 官方文档:https://doc.qt.io/qt-5/qml-qtquick-mousearea.html#propagateComposedEvents-prop,示例代码如下: MouseArea 如果你希望所有点击和释放操作都传递到下层,可以将 onPressed、onReleased 都重写掉,设置 accepted 为 false,如下示例: MouseArea { anchors.fill mouse.accepted = false } onReleased: { mouse.accepted = false } } 这样实现后,这个 MouseArea

    1.6K20编辑于 2023-10-21
  • 来自专栏跟Qt君学编程

    Qml获取某个控件的全局坐标

    font.pixelSize: 13 } MouseArea || mouseArea.isEntered ? "#0078d8" : "white" MouseArea { id: mouseArea property bool isEntered: false || mouseArea.isEntered ?

    3.9K10编辑于 2023-03-17
  • 来自专栏跟Qt君学编程

    Qt官方示例-Qml鼠标点击与拖拽

    ❝本例演示如何使用Qml的MouseArea实现区域鼠标点击和拖拽的功能。 ❞ ?   当您在红色方块内单击鼠标时,界面下方区域文本将显示出单击鼠标的一些属性,这些属性可用于QML中。 按下鼠标时,红色方块的不透明度将降低,并保留在MouseArea内。当其中发生单击或双击等其他操作时,MouseArea会发出对应的信号。 MouseArea { ... Clicked (wasHeld=' + mouse.wasHeld + ')' onDoubleClicked: btn.text = 'Double clicked' ... }   MouseArea MouseArea { anchors.fill: parent //! 或在以下「Qt安装目录」找到: C:\Qt\{你的Qt版本}\Examples\{你的Qt版本}\quick\mousearea 「相关链接」 https://doc.qt.io/qt-5/qtquick-mousearea-example.html

    3.1K20发布于 2020-04-01
  • 来自专栏跟Qt君学编程

    Qml数字键盘

    radius: 8 color: if (modelData == "Back") return mouseArea.pressed normalButtonColor : "red" else return mouseArea.pressed font.pixelSize: 18 color: "white" } MouseArea { id: mouseArea anchors.fill: parent //

    1.2K20编辑于 2023-03-17
  • 来自专栏自动化大师

    威纶通九宫格解锁触摸屏

    self = this; // sets up UI var patternCanvas = new Canvas(); var floatLineCanvas = new Canvas(); var mouseArea = new MouseArea(); self.widget.add(patternCanvas); self.widget.add(floatLineCanvas); self.widget.add (mouseArea); initNumberSensibleRect(); reset(); mouseArea.on('mousedown', (mouseEvent) => { setMatchResult let num = hitTest(mouseEvent); if (num >= 0) { addNumberToPattern(num); } }); mouseArea.on self.pattern.length > 0 && self.pattern.length < NumberCount) { addFloatLine(mouseEvent); } }); mouseArea.on

    27910编辑于 2024-08-14
  • 来自专栏程序员互动联盟

    【专业技术】还有人在用Qt开发app嘛?

    MouseArea{ id: buttonMouseArea anchors.fill: parent //在矩形区域内描定Mouse Area的所有边 元素.MouseArea元素描述一个可检测鼠标移动的交互区域.在按钮中我们将MouseArea完全平铺到其父对象simplebutton上.anchors.fill语法用来访问叫做anchors的组合属性中的 当鼠标在MouseArea区域内移动时会触发很多信号.其中当用户点击被许可的鼠标按钮(默认是左按钮)时会调用onClicked信号.可以设置onClicked的处理事件.本例中,当在MouseArea中点击鼠标时会调用 signal buttonClick() onButtonClick: { console.log(buttonLabel.text + " clicked" ) } MouseArea 声明,buttonClick信号可以更好的区分多个MouseArea的信号处理代码.

    5.7K70发布于 2018-03-14
  • 来自专栏跟Qt君学编程

    一个好的Qml文件(翻译文)

    让我们看看示例1: import QtQuick 2.9 MouseArea { anchors.right: parent.right anchors.bottom: parent.bottom color: "lightgray" } Text { id: textItem anchors.centerIn: parent } MouseArea 示例1中根控件MouseArea包含了一些Rectangle和Text与原本意思不相符的东西。 设置隐式大小并用作默认大小。 隐式大小主要用于动态布局。 使用时可以覆盖实际大小。 中自定义属性随便放 关键部分需要注释 例子2中关键部分属性与信号都有注释 例子1无注释难阅读 控件应该有一个id名字且明确 示例2 示例1 控件id应该放在第一行 示例2 示例1 功能明确且单一的 示例2 示例1中MouseArea

    1.4K10发布于 2019-07-15
  • 来自专栏跟Qt君学编程

    兼容Qt4/Qt5版本Qml控件Slider

    /* handle */ Loader { id: handleId sourceComponent: root.handle } MouseArea { id: mouseArea anchors.fill: parent onPressed: root.pressed = true root.position*to } onPositionChanged: { root.position = _private.adjustPosition(mouseArea ) } onClicked: { root.position = _private.adjustPosition(mouseArea) parent.radius color: "#21be2b" } } function adjustPosition(mouseArea

    81520发布于 2019-07-15
  • 来自专栏半生瓜のblog

    【QML】简单动画实现

    } Behavior on y{ PropertyAnimation{duration: 500} } } MouseArea Rectangle{ id:rect1 width: 100 height: 100 color:"green" MouseArea id:rect1_animation target:rect1 properties: "x,y" duration: 1000 } MouseArea import QtQuick 2.0 //状态切换 Rectangle{ id:rect1 width: 100 height: 100 color:"green" MouseArea

    92710编辑于 2023-05-13
  • 来自专栏跟Qt君学编程

    Qml自定义ListModel(视频)

    Rectangle { width: 50 height: 50 color: mouseArea.pressed /* 改变数据(随机数) */ text: "改变" } MouseArea { id: mouseArea anchors.fill: parent onClicked

    95520编辑于 2023-03-17
  • 来自专栏跟Qt君学编程

    Qml失焦问题

    "red" : "lightblue" MouseArea { anchors.fill: parent onClicked: { parent.forceActiveFocus "red" : "lightblue" MouseArea { anchors.fill: parent onClicked: parent.forceActiveFocus

    2.7K21发布于 2019-07-15
  • 来自专栏全栈程序员必看

    QML入门教程:一、QML和QtQuick简介以及QML实例

    里面的内容 import QtQuick 2.1 import QtQuick.Window 2.0 Window { visible: true width: 360 height: 360 MouseArea anchors.centerIn: parent同理,我们可以看到MouseArea 是充满父元素的。MouseArea 还有一个 onClicked 属性。这是一个回调,也就是鼠标点击事件。 MouseArea可以看作是可以相应鼠标事件的区域。当点击事件发出时,就会执行 onClicked 中的代码。这段代码其实是让整个程序退出。 注意我们的 MouseArea充满整个矩形anchors.fill: parent,所以整个区域都可以接受鼠标事件。

    7K20编辑于 2022-11-01
  • 来自专栏码客

    Qt开发-QT Quick

    opacity这个属性是对当前组件以及子组件都设置不透明度,所以不太适用 color: Qt.rgba(0,0,0,0)是对当前设置透明度,不会传到子组件 组件 基本组件 这里面的这几个内部也可以填充其它组件 MouseArea { width: 640 height: 480 visible: true color: "#f3f3f3" title: qsTr("主页面") MouseArea emit signal() onTestSignal: console.log("xxx")// 槽 用于接收信号 举例: Item { signal clickTest(); MouseArea consloe.log("received") } 方式3 适合一对多或者跨 QML 断开就使用 disconnect 就好 1 : 跟信号在同一个范围,可这么写 signal sendSignal(); MouseArea console.log("3: received signal"); } 2:如果与信号不在同一范围 MyTest { signal testT() id : mytest MouseArea

    3.1K40发布于 2021-11-10
  • 来自专栏全栈程序员必看

    qml入门教程_前端从入门到放弃

    GradientStop{position:0.0;color:"lightsteelblue"} // GradientStop{position:1.0;color:"blue"} //} } MouseArea focus: true color:"#FFFFFF" opacity: 1 anchors.fill: myedit anchors.margins: 6 scale: rect.scale } MouseArea anchors.margins: 2 id: coreImage clip: true fillMode: Image.PreserveAspectCrop source: "img.jpg" } } MouseArea { id:mouseAREA anchors.fill: parent onClicked: { if(! MouseArea { anchors.fill: parent onClicked: { myclass.begin() //use your c++ signal myclass.stop() //

    2.3K10编辑于 2022-09-19
  • 来自专栏跟Qt君学编程

    兼容Qt4/Qt5版本Qml控件ComboBox

    property alias pressed: mouseArea.pressed /// 此属性可以判断组合框是否处于展开状态。 Loader { id: contentItemId sourceComponent: contentItem } MouseArea { id: mouseArea anchors.fill: parent onReleased: root.down = ! == root.count - 1 } MouseArea { id: delegateMouseArea

    2.6K20发布于 2019-07-16
  • 来自专栏跟Qt君学编程

    QML知识-与Qt数据交互

    TestModel"); (2) qml中使用方法: TestModel { id: test } Column { Text { text: "[1]" + test.text } } MouseArea qml文件执行导入命令 import TestModel 1.0 <2> 使用 Column { Text { text: "[2]" + testModel.text } } MouseArea

    2.4K20发布于 2019-07-16
  • 来自专栏C++

    完全依赖QML实现播放器

    height: parent.height - uri.height source: mediaplayer autoOrientation: true } MouseArea MouseArea中添加onPressed、onReleased和onPositionChanged等事件处理器处理鼠标的操作进行播放、暂停和移动。

    2.5K30发布于 2020-03-05
  • 来自专栏半生瓜のblog

    【QML】基础语法

    function sayHello(strHello){ console.log("hello " + strHello) } //鼠标可以获得焦点的区域 MouseArea myrect.sayHello("world") } } 自定义信号 import QtQuick 2.0 Item { width: 500 height: 500 MouseArea

    1.2K20编辑于 2023-05-13
  • 来自专栏跟Qt君学编程

    兼容Qt4/Qt5版本的QML例程

    height: 360 Text { text: qsTr("Hello World") anchors.centerIn: parent } MouseArea height: 360 Text { text: qsTr("Hello World") anchors.centerIn: parent } MouseArea

    1.9K30发布于 2019-07-15
  • 来自专栏跟Qt君学编程

    Qml信号绑定函数

    Component.onCompleted: mySignal.connect(func) function func() { console.log("++++++++++") } MouseArea

    1.8K20发布于 2019-07-15
领券