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的更多相关文章

  1. Qt-第一个QML程序-3-自定义一个按钮

    项目基本信息前两个已经说了,这里直接放下运行截图, 对的,这里就是说上面的那个红色的按钮,这里需要了解Qml的动画和状态 这里先把整个按钮的代码写出来,一点一点写 Rectangle { id:clo ...

  2. Qt-第一个QML程序-1-项目工程的建立

    这个小程序是我发的第一个完整的QMl程序,这个程序也会持续的更新,一步一步的完善起来,最后会有一个什么样的结果也是不知道,只是把自己目前掌握的QML相关的东西都慢慢的写进来,积累起来 先展示一下运行结 ...

  3. 一个简单C程序的汇编代码分析

    几个重要的寄存器 eip - 用于存放当前所执行的指令地址 esp - 栈(顶)指针寄存器 ebp - 基址(栈底)指针寄存器 简单的C程序 int g(int x) { ; } int f(int ...

  4. 一个简单的"RPC框架"代码分析

    0,服务接口定义---Echo.java /* * 定义了服务器提供的服务类型 */ public interface Echo { public String echo(String string) ...

  5. Qt-第一个QML程序-4-自定义按钮类,动画,状态

    上篇中,我们写到了自己定义了一个按钮,但是呢,按照这样的写法,要写一个程序出来,那要累死了,所以,qml给我的感觉就是各种随便调用,所以了,可以自己写一个自己Button的qml,这样在以后用到了,就 ...

  6. VC2012+QT新建一个控制台程序

    1.新建一个项目,选择控制台程序 2.下一步.project setting 可以包含模块,可以再这选择也可以之后选择 3.配置工程属性 1)需要源码的话添加VC++目录里的源目录 2)包含头文件   ...

  7. 一个UI程序开始的代码函数导读

    #import "QFAppDelegate.h" @implementation QFAppDelegate //最后一个执行的初始化函数 //主要做一些启动之前的初始化操作 - ...

  8. CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...

  9. 【C语言】03-第一个C程序代码分析

    前面我们已经创建了一个C程序,接下来分析一下里面的代码. 项目结构如下: 一.代码分析 打开项目中的main.c文件(C程序的源文件拓展名为.c),可以发现它是第一个C程序中的唯一一个源文件,代码如下 ...

随机推荐

  1. vim命令set nu

    set nu:为vim设置行号 set nonu:取消vim中的行号

  2. 使用document对象操作cookie

    1. 使用document对象的cookie属性,可以让你读取.添加和更新文档(当期HTML)所关联的cookie. 2. 当你读取document.cookie时,会得到当期文档的所有cookie. ...

  3. px,rem,em的区别

    PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能够调整的原因在于其使用了em或rem作为字体单位: 3. Firefox能够调整px和em,rem,但是96%以上 ...

  4. IOS9中使用NSURLConection发送异步网络请求

    IOS9中使用NSURLConection发送异步网络请求 在ios9中,NSURLConection的sendSync..和sendAsync已经过时.被NSURLSession代替. 以下蓝色部分 ...

  5. woff字体找不到导致的404错误

    在iis中添加mime类型: .woff  application/x-font-woff .woff2 application/x-font-woff

  6. 屏蔽JS代码错误

    用来屏蔽IE的错误的JS代码,也能屏蔽弹出框错误! <SCRIPT language=JavaScript> function killErrors() { return true; } ...

  7. Oracle树形结构数据-相关知识总结

    Oracle树形结构数据--基本知识 1.数据组成 2.基本查询 2.1.查询某节点及该节点下的所有子孙节点 SELECT   *      FROM QIANCODE.TREE_TABLE_BASI ...

  8. 【模板】缩点(tarjan,DAG上DP)

    题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大.你只需要求出这个权值和. 允许多次经过一条边或者一个点,但是,重复经过的点,权值只 ...

  9. Python-知识点小计

    1.python赋值.浅拷贝.深拷贝区别:https://www.cnblogs.com/xueli/p/4952063.html: 2.python的hasattr(),getattr(),sett ...

  10. mysql的length与char_length的区别

    length:   是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符 char_length:不管汉字还是数字或者是字母都算是一个字符 同时这两个函数,可用于判断数据中是否有中文文字 例 ...