Qt-第一个QML程序-2-关键代码分析,TEXT,Image,Mouseare
qml语言开始写的时候有点不习惯,后面用的多了感觉很好,很顺手,用于快速搭建项目界面,真的很好。
目前用到的还是比较简单的
隐藏标题栏,而依附任务栏
flags: Qt.Window | Qt.FramelessWindowHint
父级部分
id:root
visible: true
width: 960*0.7
height: 1280*0.7
title: qsTr("QML程序演示")
color: "#777777"
flags: Qt.Window | Qt.FramelessWindowHint
一般我会把父级设置为root,也就是根
后面是设置标题,背景颜色,隐藏标题栏
文本部分
Text
{
id:title
anchors.top:parent.top
anchors.topMargin: 5
anchors.left: parent.left
anchors.leftMargin: 5
font.pointSize: 12
font.family: "微软雅黑"
color: "#ffffff"
text:qsTr("QML程序演示")
}
这部分代码就是我程序中的Title部分,id是这个文本的唯一名字,而且不可重名,在任何地方都可以通过id来使用该模块
anchors.top:parent.top
anchors.topMargin: 5
anchors.left: parent.left
anchors.leftMargin: 5
这四行代码就是这个Title的布局,始终保持在据父级上面5像素,左面5像素的位置显示
font.pointSize: 12
font.family: "微软雅黑"
color: "#ffffff"
text:qsTr("QML程序演示")
这四行代码就是设置字体大小,字体,颜色,文本可容
中心女朋友的照片代码
Image {
id: background
width: 961*0.6
height: 1280*0.6
anchors.centerIn: parent
source: "qrc:/Images/honey.jpg"
}
Image可以支持Jpg,png,SVG等格式的素材,同时设置了这个Image的大小,这里可能有点特殊就是后面有0.6,其实完全可以不用这么,可以设置他的缩放,不过我像这么写
anchors.centerIn: parent
父级中心布局
source: "qrc:/Images/honey.jpg"
加载资源文件
鼠标拖拽界面部分
这里参考了网友给出的方案,可以具体内容可以参考这位网友的文章
http://blog.csdn.net/xuwq2015/article/details/46681193
property int mainWindowX //用来存储主窗口x坐标
property int mainWindowY //存储窗口y坐标
property int xMouse //存储鼠标x坐标
property int yMouse //存储鼠标y坐标
MouseArea
{
id:move
height: 30
width: parent.width
anchors.top:parent.top
anchors.left: parent.left
anchors.right: parent.right
acceptedButtons: Qt.LeftButton //只处理鼠标左键
// onPressed:
// { //接收鼠标按下事件
// xMouse = mouseX
// yMouse = mouseY
// mainWindowX = root.x
// mainWindowY = root.y
// } property point clickPos: "0,0"
onPressed:
{ //接收鼠标按下事件
clickPos = Qt.point(mouse.x,mouse.y)
}
onPositionChanged:
{ //鼠标按下后改变位置
// root.x = mainWindowX + (mouseX - xMouse)
// root.y = mainWindowX + (mouseY - yMouse) //鼠标偏移量
var delta = Qt.point(mouse.x-clickPos.x, mouse.y-clickPos.y) //如果mainwindow继承自QWidget,用setPos
root.setX(root.x+delta.x)
root.setY(root.y+delta.y)
} }
生下就是关闭按钮部分,下篇见
源码连接:http://download.csdn.net/detail/z609932088/9802022
GitHub:https://github.com/DreamLifeOffice/MyQmlProject
Qt-第一个QML程序-2-关键代码分析,TEXT,Image,Mouseare的更多相关文章
- Qt-第一个QML程序-3-自定义一个按钮
项目基本信息前两个已经说了,这里直接放下运行截图, 对的,这里就是说上面的那个红色的按钮,这里需要了解Qml的动画和状态 这里先把整个按钮的代码写出来,一点一点写 Rectangle { id:clo ...
- Qt-第一个QML程序-1-项目工程的建立
这个小程序是我发的第一个完整的QMl程序,这个程序也会持续的更新,一步一步的完善起来,最后会有一个什么样的结果也是不知道,只是把自己目前掌握的QML相关的东西都慢慢的写进来,积累起来 先展示一下运行结 ...
- 一个简单C程序的汇编代码分析
几个重要的寄存器 eip - 用于存放当前所执行的指令地址 esp - 栈(顶)指针寄存器 ebp - 基址(栈底)指针寄存器 简单的C程序 int g(int x) { ; } int f(int ...
- 一个简单的"RPC框架"代码分析
0,服务接口定义---Echo.java /* * 定义了服务器提供的服务类型 */ public interface Echo { public String echo(String string) ...
- Qt-第一个QML程序-4-自定义按钮类,动画,状态
上篇中,我们写到了自己定义了一个按钮,但是呢,按照这样的写法,要写一个程序出来,那要累死了,所以,qml给我的感觉就是各种随便调用,所以了,可以自己写一个自己Button的qml,这样在以后用到了,就 ...
- VC2012+QT新建一个控制台程序
1.新建一个项目,选择控制台程序 2.下一步.project setting 可以包含模块,可以再这选择也可以之后选择 3.配置工程属性 1)需要源码的话添加VC++目录里的源目录 2)包含头文件 ...
- 一个UI程序开始的代码函数导读
#import "QFAppDelegate.h" @implementation QFAppDelegate //最后一个执行的初始化函数 //主要做一些启动之前的初始化操作 - ...
- CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...
- 【C语言】03-第一个C程序代码分析
前面我们已经创建了一个C程序,接下来分析一下里面的代码. 项目结构如下: 一.代码分析 打开项目中的main.c文件(C程序的源文件拓展名为.c),可以发现它是第一个C程序中的唯一一个源文件,代码如下 ...
随机推荐
- php函数:call_user_func
前段时间浏览文档发现一个有意思的PHP函数:call_user_func [文档地址] 函数作用:该函数主要用于通过函数名去调用该函数 例如: function test(){ echo " ...
- es6之数据结构
1.set的用法 用add方法添加元素,添加的数组不可重复. 可利用set类型添加元素不重复的功能,给数组完成去重的功能 size属性用于获取set元素的长度 { let list =new Set( ...
- 使用@SuppressWarnings("unchecked")消除非受检警告
使用泛型编程时,会遇到许多编译器警告,如:非受检强制转化警告,非受检方法调用警告,非受检普通数组创建警告,费受精转换警告.这次的内容就是遇到这些警告的时候你该怎么办 PS:非受检警告就是代码上黄色的感 ...
- 利用来JS控制页面控件显示和隐藏有两种方法
利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位. 方法一: 1 2 document.getEle ...
- 在Mac终端中使用vim编辑文件步骤
VIM (Unix及类Unix系统文本编辑器) Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性.VIM是纯粹的自由软件. http://jingya ...
- 手机站全局的html+css加载等待效果
本文只提供思路,CSS神马的自己定制吧,JS是可以优化的,比如,输出图片的JS也可以放到showdiv()里面,我没有做优化,只是实现,别笑话我,我比较懒... 基本思路:由于Html的解析是从上到下 ...
- LwIP协议栈开发嵌入式网络的三种方法分析
LwIP协议栈开发嵌入式网络的三种方法分析 摘要 轻量级的TCP/IP协议栈LwIP,提供了三种应用程序设计方法,且很容易被移植到多任务的操作系统中.本文结合μC/OS-II这一实时操作系统,以 ...
- Parallel.ForEach使用示例
新建一个.NET Core控制台程序,代码如下: using System; using System.Collections.Generic; using System.Threading; usi ...
- Canvas制作的下雨动画
简介 在codepen上看到一个Canvas做的下雨效果动画,感觉蛮有意思的.就研究了下,这里来分享下,实现技巧.效果可以见下面的链接. 霓虹雨: http://codepen.io/natewile ...
- uiwebview与objective-c
利用oc调用js很简单, 系统直接提供了方法stringByEvaluatingJavaScriptFromString [webView stringByEvaluatingJavaScriptFr ...