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程序中的唯一一个源文件,代码如下 ...
随机推荐
- jpa多条件查询
首先继承JpaSpecificationExecutor<T>接口 需要用到JpaSpecificationExecutor<T>中的Page<T> findAll ...
- IDEA+MAVEN构建一个webapp骨架项目(解决一直卡在downloading plugins for问题)
下载:链接:https://pan.baidu.com/s/1jJx73H8 密码:nud0 第一步 我在上面链接下载了这个骨架xml,放进本地(你的目录默认.m2)\repository\org ...
- MVC学习十一:合并资源文件(BundleConfig)
在BundleConfig.cs文件下 //1.用户可以 手动 添加 js绑定对象,取一个 名字(虚拟路径),添加要绑定的JS文件 路径 bundles.Add(new ScriptBundle(&q ...
- Jmeter-常用函数之__CSVRead使用
可参照:http://www.cnblogs.com/liu-ke/p/4324157.html 压测中有些参数是固定范围内的取值,或者成对出现(如登录帐号和密码),以大量用户同时登录网站为例: 1. ...
- 使用Fiddler做抓包分析
转载:http://blog.csdn.net/ohmygirl/article/details/17849983 Fiddler抓取HTTP请求. 抓包是Fiddler的最基本的应用,以本博客为例, ...
- 《Inetnet History,Technology and Security》学习笔记
前言 本文为观看Cousera的Michigan<Internet History, Technology and Security>教程的个人学习笔记,包括了每个week的概要和个人感想 ...
- Gradle Goodness: Working with Live Task Collection
Gradle support the definition of so called live collections. These collections are mostly created ba ...
- Office365学习笔记—列表查询,删除条目,更新条目。
1,基于Query语句的列表查询. function retrieveListItems(itemId) { var siteUrl=_spPageContextInfo.webServerRelat ...
- 搭建Extjs框架(二)
搭建Extjs 框架 二.编写入口文件 app.js,配置extjs 组件\视图文件路径 并将app.js引入index.html 在app.js中指定一些文件的路径,Extjs页面的起始 ...
- eclipse中误删tomcat后,文件都报错,恢复server时无法选择tomcat7.0解决办法
创建Tomcat v7.0 Server 不能进行下一步. 解决方法: 1.退出 eclipse 2.到[工程目录下]/.metadata/.plugins/org.eclipse.core.runt ...