QtQuick(QML)
文章平均质量分 50
QML
画茧自缚
要结束一场战争,最快的方式就是输掉它。
展开
-
QML之自定义电池充电/电量显示效果
QML之自定义电池充电/电量显示效果效果如下实现方式其实,实现起来很简单,用到了很少的东西,主要用到下面两种方式: 1. 切图片,准备好几个不同电量显示的图片,根据电量信号的反馈切换对应的图片 2. 自定义,用到了极少的item,基本是rect + label源码下载可以在这里下载源码原创 2017-07-12 23:45:01 · 2604 阅读 · 0 评论 -
QML之鼠标在画布/图片(Canvas)上点击时获取该点的颜色值
应用我这边是用到了灰度图进行导航,黑色为障碍物区域,白色为道路,所以可以通过判断鼠标点击时获取的颜色来提示用户是否将位置点标记在了障碍物上。示例代码import QtQuick 2.9import QtQuick.Window 2.2Window { visible: true width: 640 height: 480 title: q...原创 2018-08-07 22:32:57 · 2532 阅读 · 0 评论 -
QML之图片拖拽与缩放
方法这里使用的是drag属性实现,其实还可以将图片置于ScrollView中实现拖拽,或者是放在Flickable中。效果代码import QtQuick 2.9import QtQuick.Window 2.2Window { visible: true width: 1620 height: 720 title: qsTr("Hel...原创 2018-07-16 00:08:49 · 4246 阅读 · 2 评论 -
QML之在QtQuick.Controls 2项目中使用QtQuick.Controls模块中的控件
区别下面的笔记中将QtQuick.Controls 2简称为qml2,QtQuick.Controls简称为qml1。最直观的的区别就是qml2的控件及界面风格更加美观,qml2提供了一套谷歌风格的控件,与安卓上的控件风格一样,基本不需要再自定义了,控件本身的外观和点击效果已经可以满足大部分环境。详细说明见官方文档:QtQuick.Controls 2与QtQuick.Controls...原创 2018-07-15 23:29:54 · 6783 阅读 · 3 评论 -
QML之侧滑抽屉(菜单)
可以用两种方式实现抽屉效果,一种是使用动画,一种是直接使用抽屉控件(Drawer)。效果区别1、使用动画更加灵活,更方便自定义动画效果 2、使用动画实现的抽屉需要依靠其Z属性确定其所在哪一层,Drawer弹出时在最上层 3、Drawer继承自Popup,可以设置为模态和非模态,可以方便设置其关闭方式 4、动画使用start()和stop()打开关闭,Drawer使用ope...原创 2018-07-17 20:26:18 · 5389 阅读 · 1 评论 -
QML之虚拟键盘简单使用
更改键盘皮肤1、先导入模块import QtQuick.VirtualKeyboard.Settings 2.22、设置“复古”皮肤/主题,目前除了默认的皮肤就这个了,感觉这个更漂亮VirtualKeyboardSettings.styleName = "retro"效果: 设置键盘大小和位置InputPanel { id: inputPanel原创 2018-04-17 23:39:05 · 9405 阅读 · 1 评论 -
QML之ubuntu下编译安装虚拟键盘中文输入法
写在前面1、一个兼容性问题:ubuntu14.04 + qt5.7以上版本开发时会遇到各种问题,多是由于类似于编译器等版本过低或者不兼容导致。建议使用ubuntu16.04 + qt5.9开发,两个长期支持的稳定版本,应该时目前最合适的搭配了。ubuntu14.04编译qt5.7以上版本虚拟键盘报错:g++:error: unrecognized command line opti...原创 2018-04-17 22:26:52 · 2775 阅读 · 5 评论 -
QML之自定义模态可拖拽窗口
效果代码main.qmlimport QtQuick 2.5import Qt.labs.controls 1.0ApplicationWindow { id: root visible: true width: 840 height: 680 title: qsTr("Hello World") Button{ id: btn原创 2017-12-21 22:11:39 · 4515 阅读 · 0 评论 -
QML之动态加载
使用Loader动态加载组件QML中的Loader可用来动态加载QML组件,动态加载的作用: 1. 在需要使用该组件的时候才加载它(并不像visible属性会使控件一直存在); 2. 加载的组件可以销毁并释放资源。QML中控件的visible属性类似于widget中窗口的close效果,页面只是被隐藏了并没有销毁释放内存。Loader可以通过设置source属性为空字符串或者sourceComp原创 2017-11-19 22:05:43 · 6173 阅读 · 3 评论 -
QML之控制小车运动并绘制路径
效果知识点绘图,使用Canvas进行绘图图层叠加,小车运动和路径的绘制为两个图层,所以两者互不干扰画布旋转,小车转向并非是将图标进行旋转而是将画布进行旋转 绘制图片,初始点标定是将图标绘制在图层上绘制路径,将小车每次移动的轨迹用线段连接源码绘制小车/*********************实时刷新小车位置图层************************/Canvas{原创 2017-10-31 23:12:22 · 3697 阅读 · 0 评论 -
QML之MouseArea双击时过滤掉单击事件
Demo测试代码ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Hello World") MouseArea{ anchors.fill: parent onPressed: { console.log("pres原创 2017-10-10 19:56:55 · 5318 阅读 · 1 评论 -
QML之按键翻转效果
效果Demo源码第一个图片是书上的demo,第二个和第三个做了修改Flipable { id: flipable width: 240 height: 240 property bool flipped: false front: Image { source: "front.png"; anchors.centerIn: parent }...原创 2017-09-13 21:35:57 · 1246 阅读 · 0 评论 -
Qt之常用的数据转换、计算
文章目录int与string之间的转换QString 与 QByteArray之间 的转换QByteArray 与 char*之 间的转换QString与char 之间的转换QString 与char*之间的转换doblue/float取小数点后n位进位取舍计算int与string之间的转换Qt C++int i; QString str;str = QString::number(i)...原创 2018-09-26 21:59:19 · 1473 阅读 · 0 评论