QML使用MouseArea】的更多相关文章

原文:http://www.thisisqt.com/?action-viewnews-itemid-22 MouseArea元素的一个很典型的用法是和一个可视的item一起用,处理这个item的鼠标响应. 在下例中我们将MouseArea放到Rectangle中,当单击Rectangle区域中时,Rectangle颜色会变成红色. import Qt 4.7 Rectangle {      width: 100; height: 100      color: "green" Mo…
1.普通使用 MouseArea { anchors.fill: parent hoverEnabled: true//为true才会触发进入信号 onClicked: { } onEntered: { } onExited: { } } 2.可拖曳 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.2 ApplicationWindow { visible: true width: 640 height…
QT C++在2D图形方面已经做的很完善了,在PC端(Windows.Linux和MaC)上都有很好的表现. QT中的QML特别适合于移动端应用的开发,QML中的一些基本形状类型并不是一一地与Qt C++相对应,但是通过C++可以来扩展QML. QQuickPaintedItem继承自QQuickItem,提供了使用QPainter API的方法来扩展QML中的2D图形项. QQuickPaintedItem没有像QGraphicsItem那样提供shape()方法来获取图形项的具体实际形状,但…
QML中的MouseArea类型为用户进行简单的鼠标操作提供了方便. MouseArea是一个不可见的Item,通常与可见项目结合使用,以便为该项目提供鼠标处理.通过有效地充当代理,鼠标处理的逻辑可以包含在MouseArea Item中. MouseArea虽然是一个不可见的Item,但是它有一个“visible”属性,当该属性为假时,鼠标区域就对鼠标事件变得透明. MouseArea使用实例: main.qml 12345678910111213141516171819202122232425…
原文: https://blog.csdn.net/qq_15024587/article/details/80000443 MouseArea控件大家应该是很熟悉的了.   使用起来也是非常方便的说.   但是在使用MouseArea的时候也有些需要我们注意的地方.我在开发的过程中就遇到了一些问题,现在就分享一下. 代码片段1: Item { width: 860 height: 640 Button{ width: 86 height: 64 anchors.centerIn: parent…
https://blog.csdn.net/ieearth/article/details/42082837…
1.QML编写可视化元素,运行后程序窗口上无显示.检查电脑的显卡是否支持OpenGL,如果支持请更新显卡驱动. 2.加载图片显示QML Image: Cannot open.解决在qml.qrc右击添加文件目录,把图片的文件夹添加进去.图片就能正常显示. Image{ id:image width: parent.width height: parent.height source: "images/background.png" } 3.组件,一个文件就是一个基础组件,一个以文件为基…
QML弹出窗口组件,灯箱效果.动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透 使用 Popup { id: popup width: 200; height: 300 x: 200; y:100 z: 101 opacity: 0.8 visible: false; radius: 5 ... } popup.showMask = chk.checked; popup.animationType = 'size'; popup.show(); 注意…
Qt qml listview下拉刷新和上拉分页主要根据contentY来判断.但要加上顶部下拉指示器.滚动条,并封装成可简单调用的组件,着实花了我不少精力:) [先看效果]    [功能] 下拉刷新和上拉分页逻辑 /下拉刷新 /上拉更多 /滚动栏 /工具栏半拉显隐 Author: surfsky.cnblogs.com Lisence: MIT 请保留此文档声明 History: init. surfsky.cnblogs.com, 2015-01 add initPosition prope…
qml并没有提供树控件,只能自己写了.model仍然用ListModel对象,弄成层级的就行.delegate必须用loader动态的增加子控件,如此而已. [先看效果] [下载] http://download.csdn.net/detail/surfsky/8406181 [核心代码] import QtQuick 2.1 import QtQuick.Controls 1.0 /** 树控件 作者:surfsky.cnblogs.com 2014-10 协议:MIT 请保留本文档说明 功能…
[功能] /目录.文件 /文件过滤 /递归 /事件 /高亮当前行 /当前选项 /目录切换动画 /限制根目录 [下载]:http://download.csdn.net/detail/surfsky/8311503 [核心代码] import QtQuick 2.0 import Qt.labs.folderlistmodel 2.1 /** QML目录导航列表 /目录文件 /文件过滤 /递归 /事件 /高亮当前行 /当前选项 /目录切换动画 /限制根目录 usage: FolderListVie…
一.理解qml模型和视图 qt的发展是迅速的,虽然在每一个release版本中或多或少都有bug,但是作为一个庞大的gui库,no,应该说是一个开发框架开说,qt已经算是做的相当好.qml部分是qt4.7的时候推出的,当时qml只是为了移动端而设计的开发语言,随着it行业的发展,桌面端也产生了一定的需求,这就使得qml也必须支持桌面端的开发.使用qml可以做出绚丽的界面,并把逻辑和界面展示分开,qml和C++就好比html和JavaScript. qt中有大量的model/view类,视图类:Q…
一.概括 学习qt已有2年多的时间,从qt4.7开始使用直到现在正在使用的qt5.6,基本都在windows机器上做开发.最近有意向看了下qt的qml部分,觉着还是挺不错的,毕竟可以做嵌入式移动端产品的部分,还是值的一学.后来在网上看了一些资料,算是初步了解了下qml,所以想就自己学习的过程做以记录,也方便自己理解,如果你有机会看到这篇文章,那么我认为你也是来学习qml的,如果你已经是一个有很强qml开发经验的老手,那么这篇文章和接下来的qml学习系列的文章你都不用看下去了,呵呵... 关于qm…
先看一下效果图: 实现功能:点击不同的色块可以改变文字的颜色. 实现步骤: 一.创建一个默认的Qt Quick工程: 二.添加文件Cell.qml 这一步主要是为了实现一个自定义的组件,这个组件就是我们看到的那个色块,很明显定义成组件可以则兼UI的复用. import QtQuick 2.0 Item { id: container; property alias cellColor: rectangle.color; signal clicked(color cellColor); ; ; R…
1.pagestack进行页面调整的时候,需要对页面状态做一些跟踪: Stack.onStatusChanged: { if (Stack.status == Stack.Active) { //可以判断是否跳转完成 isPageReady = true } else if (Stack.status == Stack.Inactive) { isPageReady = false } } 2.qml中信号的使用 A.qml 中有一个函数实现 //选择案件后的回调事件 function setC…
WidgetModel.qml import QtQuick 1.0 ListModel { ListElement { icon: "Images/widget1.png"; gridId: 0} ListElement { icon: "Images/widget2.png"; gridId: 1} ListElement { icon: "Images/widget3.png"; gridId: 2} ListElement { icon:…
摘自<Qt Quick中文手册> Qt Quick提供了一套高动态,丰富的QML元素来定制用户界面的说明性框架. Qt Quick包含了QtDeclarative C++模块.QML,并且它们全被整合到Qt Create IDE中.使用QtDeclarative C++模块可以从你的QT应用程序中载入QML文件并与之互动. QML是对JavaScript的一种扩展,它提供了一种机制使用QML元素来说明构建一个对象树. QML对JavaScript与Qt现有的QObject-base类型系统进行…
自定义的标题栏按钮是由Rectangle来实现的,在Rectangle中需要4张图片,分别在鼠标进入按钮区.鼠标离开按钮区(正常状态下).鼠标按下和鼠标释放时所加载的图片.下面是实现自定义按钮的代码(我把它放在了一个MaxButton.qml文件中): Rectangle { radius: 10 //设置圆角半径 property string normalPath //按钮正常和鼠标离开按钮区后的图片路径 property string enterPath //鼠标进入按钮区域时的图片路径…
QML支持鼠标事件处理,我们可以利用这个来实现一个变色矩形示例,代码如下: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 Rectangle{ id: root width: 512 height: 512 color: "gray" MouseArea { anchors.fill: parent acceptedButtons:…
QML中的组件可以重复使用,并且可以通过Loader加载.如下示例: import QtQuick 2.4 import QtQuick.Controls 1.3 import QtQuick.Window 2.2 import QtQuick.Dialogs 1.2 Rectangle{ id: root width: 512 height: 512 color: "gray" Text { id: coloredText anchors.horizontalCenter: pare…
官方描述:在一个Qt Quick应用程序中可以使用线程了. Import Statement:     import QtQuick .属性:source : url信号:message(jsobject msg) 使用WorkerScript在一个新线程中执行操作.再后台执行操作是很有用的,主GUI线程也不会锁定. Message可以在新线程和父线程之间通过sendMessage()和onMessage()进行传递消息.方法:sendMessage(jsobject message)案例: 功…
QML学习:Rectangle,Text,TextEdit,Flickable,Flipable元素 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 参考文档<<Qt及Qt Quick开发实战精解.pdf>> 环境: 主机:WIN7 开发环境:Qt Rectangle元素: 代码: import QtQuick 2.0 Item { Rectangle { color: "blue" width: 50 heigh…
前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不过,本章我们只介绍一种方式:基于文件的组件.基于文件的组件将 QML 元素放置在一个单独的文件中,然后给这个文件一个名字.以后我们就可以通过这个名字来使用这个组件.例如,如果有一个文件名为 Button.qml,那么,我们就可以在 QML 中使用Button { … }这种形式. 下面我们通过一个例…
前面我们简单介绍了几种 QML 的基本元素.QML 可以由这些基本元素组合成一个复杂的元素,方便以后我们的重用.这种组合元素就被称为组件.组件就是一种可重用的元素.QML 提供了很多方法来创建组件.不过,本章我们只介绍一种方式:基于文件的组件.基于文件的组件将 QML 元素放置在一个单独的文件中,然后给这个文件一个名字.以后我们就可以通过这个名字来使用这个组件.例如,如果有一个文件名为 Button.qml,那么,我们就可以在 QML 中使用Button { … }这种形式. 下面我们通过一个例…
QML 基本元素可以分为可视元素和不可视元素两类.可视元素(例如前面提到过的Rectangle)具有几何坐标,会在屏幕上占据一块显示区域.不可视元素(例如Timer)通常提供一种功能,这些功能可以作用于可视元素. 本章我们将会集中介绍集中最基本的可视元素:Item.Rectangle.Text.Image和MouseArea. Item是所有可视元素中最基本的一个.它是所有其它可视元素的父元素,可以说是所有其它可视元素都继承Item.Item本身没有任何绘制,它的作用是定义所有可视元素的通用属性…
前面我们已经了解了 Qt 的一部分内容.这部分内容全部集中在 C++ 方面.也就是说,至今为止我们的程序都是使用 C++ 语言完成的.这在 Qt 5 之前的版本中是唯一的途径.不过,自从 Qt 5 开始,情况有了变化.事实上,从 Qt 4.7 开始,Qt 引入了一种声明式脚本语言,称为 QML(Qt Meta Language 或者 Qt Modeling Language),作为 C++ 语言的一种替代.而 Qt Quick 就是使用 QML 构建的一套类库. QML 是一种基于 JavaSc…
1.无边框 Qt Quick 2.0 中 QQuickView代替了1.0中的QDeclarativeView. 无边框窗口代码如下: QQuickView viwer; //QQuickView继承自QWindow而不是QWidget viwer.setFlags(Qt::FramelessWindowHint); 2.窗口透明 setOpacity可设置整个窗口(包括控件)的透明度,而背景透明则应使用setColor //设置窗口颜色,以下为透明,在viwer.setSource()之前使用…
QML设计登陆界面 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN7 开发环境:Qt5.2 说明: 用QML设计一个应用的登陆界面 效果图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamRoOTk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt=""&…
Qt Quick之于QML,正如Qt 之于 C++,QML是Qt中开发的一个新的语言,而Qt Quick是这个语言的一个组件库,其中包含了很多用QML写的可以现成使用的组件. QML Hello World // 导入语句部分 import QtQuick 2.4 import QtQuick.Window 2.2 //对象声明部分 Window { visible: true MainForm { anchors.fill: parent mouseArea.onClicked: { Qt.q…
在QML中,一个用户界面被指定为具有属性的对象树,这使得Qt更加便于很少或没有编程经验的人使用,JavaScript在QML中作为一种脚本语言,对QML进行逻辑方面的编程. AD:WOT2015 互联网运维与开发者大会 热销抢票 QML是Qt推出的Qt Quick技术的一部分,是一种新增的简便易学的语言.QML是一种陈述性语言,用来描述一个程序的用户界面:无论是什么样子,以及它如何表现.在QML,一个用户界面被指定为具有属性的对象树. 这使得Qt更加便于很少或没有编程经验的人使用. JavaSc…