![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt Quick
A289672082
这个作者很懒,什么都没留下…
展开
-
Qt在Windows中,OpenGL禁用,使用d3d
Windows下使用QtQuick 若刷新过快<少于70毫秒>会导致程序在退出的时候崩溃,这时候可以不使用OpenGL渲染界面。 main添加代码使用Angle转换OpenGl到打DirectX: QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);复制Qt的D3D模块到应用程序路径:libEGL.dll libGLESv2.dll d3dc原创 2016-08-23 13:34:26 · 5085 阅读 · 0 评论 -
QAbstractListModel:Qml 使用C++model
主要是几个虚函数的实现,可查看QAbstractListModel的父类 具体实现:#ifndef MYMODEL_H#define MYMODEL_H#include <QAbstractListModel>#include <QHash>#include <QList>#include <QByteArray>#include <QDebug>class mydata{publ原创 2016-07-14 17:32:44 · 9898 阅读 · 2 评论 -
QtQuick一分钟技巧:使用C++保存全局数据
#ifndef QMLGLOBALDATA_H#define QMLGLOBALDATA_H#include <QObject>#include<map>#include<QVariant>using namespace std;class QmlGlobalData : public QObject{ Q_OBJECTpublic: explicit QmlGloba原创 2016-07-14 11:16:35 · 858 阅读 · 0 评论 -
设计第二个弹出窗口(MessageBox)
import QtQuick 2.7import QtQuick.Controls 2.0import QtGraphicalEffects 1.0import QtQuick.Controls.Material 2.0import "./MySdk.js" as SDKimport "./GooleGooleColor.js" as GooleColorPopup {原创 2016-07-13 18:14:14 · 948 阅读 · 0 评论 -
QtQuick 上拉加载的实现
import QtQuick 2.7import QtQuick.Controls 2.0import QtQuick.Layouts 1.0ApplicationWindow { visible: true width: 640 height: 480 title: qsTr("Hello World") id:root property ali原创 2016-07-11 20:27:25 · 695 阅读 · 0 评论 -
安卓/平台QtQuick+socket.io+C++搭建聊天系统
流程有些复杂,QML不支持调用很多常见的js引擎,我们可以利用webview来达到。不过在使用socket.io,发现必须要在安卓4.4版本或更高才行,这个不是安卓的问题,是最新版的Qt没有优化老版本的WebView,唉。开发流程图:从发送到回调: QML -> WEBVIEW中的socke.io -> node.js服务器 ->WEBVIEW -> (标注)C++ -> QML标注:由原创 2016-06-12 23:03:10 · 2862 阅读 · 0 评论 -
Qt Quick实现底部导航
有时候不得不赞叹Qt Quick的界面开发效率。今天就玩一把黑科技。做的是底部导航条,需要在安卓上写一个项目用到,非常容易实现,思路是用一个纵向的布局 固定在底部,加上icon,由于底部导航和其他控件不同:各种分辨率下的拉伸布局,如果屏幕宽度偏离很大,并且有图片,需要算法的.俺这里没写,不精通啊 封装:import QtQuick 2.6import QtQuick.Window 2.2i原创 2016-06-06 20:09:50 · 1868 阅读 · 0 评论 -
用Popup仿MessageBox 支持HTML语法混排
Popup { property var subtext: "" property var subtitle: "" id: messsagebox2 x: 0 y: 0 padding: 0 background: Item{} //是否使用popup背景 // dim:false width原创 2016-06-27 18:10:14 · 2123 阅读 · 0 评论 -
用Popup仿侧滑菜单
////侧滑菜单/* MeumItem{ id:menu_ }*/Popup{ id:drawer; width: parent.width height: parent.height closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside|Popup.Close原创 2016-06-27 18:05:17 · 590 阅读 · 0 评论 -
(顶部/底部)导航方案(1)TabBar+StackLayout
ApplicationWindow{ visible: true id:window width:320 height:480 TabBar { id: bar width: parent.width //当前选中项下划线色 Material.accent:"#ffffff" //背原创 2016-06-27 13:30:10 · 980 阅读 · 0 评论 -
QtQuick 全局缩放和放大<DPI>
Qt提供了全局缩放,但是官方没有实例,不过折腾出来了.全局缩放和放大可以用在移动平台中。480dpi的设备放大3倍将变成160dpi。关键点:1.在QGuiApplication初始化之前调用缩放2.禁用HilightDpi QGuiApplication::setAttribute(Qt::AA_DisableHighDpiScaling);3.安卓系统中获取缩放比例。(Qt可以获取缩放比例原创 2016-06-11 12:13:59 · 4364 阅读 · 0 评论 -
QtQuick和PHP 最简单的通信demo
Component.onCompleted: { var x = new XMLHttpRequest(); x.onreadystatechange =function() { if(x.readyState == 4) { if(x.status == 200) {原创 2016-07-04 20:41:11 · 816 阅读 · 0 评论 -
ObjectModel:Qml 使用C++model
用QList<QObject*> 来实现model官方为何叫做ObjectModel打比方有一个QObject* obj ;Q_INVOKABLE QVariant _get() { QObject* obj = xxx; Variant::fromValue(obj ); } Qml调用它打印返回值:ObjectModel..原创 2016-07-15 13:44:30 · 3692 阅读 · 0 评论 -
Qt Quick路径动画
代码很简单,没啥说的。。。 PathLine定义直线路径,每一个终点坐标 另外还有贝塞尔曲线路径,可以参考帮助文档。Item { id:root1 Button{ id:root text: "Button" width: 180 height: 80 x:parent.width/2 - width/原创 2016-07-18 16:43:37 · 1308 阅读 · 0 评论 -
Qt和QtQuick中的路径处理
QtQuick中,若qml文件在资源中,访问其他资源文件可以省略’qrc:’ Image { id: img width: 200 height: 200 source:"1.png" //访问qrc中的1.png } 等同于: Image { id:原创 2016-07-07 14:13:51 · 2238 阅读 · 0 评论 -
Qt Quick 底部导航+路径动画
写一百次底部导航,有100次不同的写法,我也醉了 ,因此在此记录各种不同的写法FooterItem.Qml:import QtQuick 2.7import QtQuick.Controls 2.0import QtQuick.Layouts 1.0import QtQuick.Controls.Material 2.0import "./GoogleColor.js" as GC原创 2016-07-27 16:26:23 · 2512 阅读 · 0 评论 -
Qt Quick ToolTip
函数Open显示tip,delay属性:延迟多久才显示,timeout显示的持续时间import QtQuick.Controls 2.0import QtQuick.Layouts 1.0import QtQuick.Controls.Material 2.0ApplicationWindow { visible: true width: 640 height: 48原创 2016-07-27 15:27:19 · 1027 阅读 · 0 评论 -
QtQuick中解析富文本<初>
#include<QTextFragment>void TQmlHelper::makeDoc( QQuickTextDocument* doc){ jAVA_QMessage("开始"); QTextDocument *document =doc->textDocument(); if(document==NULL) { jAVA_QMe原创 2016-07-05 22:26:28 · 805 阅读 · 0 评论 -
QtQuick.Controls 2.0:Frame Pane GroupBox
Frame Pane GroupBox建议被一层布局包裹,可以不设置width和height,他们的大小会自动适应子元素,contentHeight/contentWidth:当前内容的宽高度->不包含标题(GroupBox带标题)和边距。 总结:Frame和Pane类似,但是Frame多了边框。装上同样子元素.他们的高度和宽度相同具体看图。 SwipeView { id:原创 2016-06-19 21:28:37 · 934 阅读 · 0 评论 -
php入门(3) QtQuick最简单的注册系统
<?php$con = mysql_connect("localhost", "root", "root");mysql_query("set names 'utf8'");if (! $con) { die('ero: ' . mysql_error());} else { $mid = $_GET['id'];// $name = $_GET['name'];//原创 2016-07-05 17:48:36 · 728 阅读 · 0 评论 -
QtQuick动态创建组件
1.Qt.createComponent 创建组件对象 createObject指定父元素 **Ani.QmlAnimatedImage { id: animation; source: "qrc:/T.gif" width: 40 height: 40}**Text.QmlText{ width: 40 height: 40 text: "H原创 2016-06-19 21:02:32 · 2700 阅读 · 0 评论 -
QHash存储二级model数据 以及遍历
Q_INVOKABLE void setitem(int index, int index2, QVariant it) { itemlist[index][index2] = it; qDebug() <<"findex:" << index<< " sindex:"<<index2 <<","<<itemlist[index][index2];原创 2016-07-15 15:57:13 · 1202 阅读 · 0 评论 -
Qt WebView js交互(new) 支持ios android 平台
原理是 界面中 new Qt HTTP服务器, HTML端用JavaScript XMLHttpRequest发送请求给C++(可包含参数 参数中使用字符串用来表示,函数可以用HTTP 子域开表示,),C++根据传入的字符串,调用Qt元函数,或者封装入Qt quick中,调用eval.推荐用Qt quick封装,因为更方便,他里面封装好了ios 和 android的Webview 返回值由C+原创 2016-05-22 20:35:34 · 2672 阅读 · 0 评论 -
Loader文件内外加载 信号槽方法属性
//加载其他文件中的组件 不需要声明称Component//1.用loader.item.属性 访问属性//2.loader.item.方法 访问方法//3.用loader.item.方法.connect(槽)连接信号 Item { Loader{ id:loader; width: 200原创 2016-06-09 13:01:28 · 1327 阅读 · 0 评论 -
Qt.fontFamilies 字体枚举
Qt.fontFamilies保存了系统中的字体,是一个javascript数组 Flickable{ anchors.fill: parent contentWidth: parent.width contentHeight: col.height + 20 Column{ id:col原创 2016-06-07 18:15:14 · 1384 阅读 · 0 评论 -
使用HTML语法图文混排
注:指定像素大小不可使用HTML的px语法 Flickable { anchors.fill: parent contentWidth: parent.width contentHeight: col.height + 20 Column { id: col x: 10; y: 10原创 2016-06-07 17:45:55 · 4265 阅读 · 0 评论 -
串行动画
Rectangle{ color: Qt.rgba(0.8/(parent.mvalue+1),0.8/(parent.mvalue+1),0.8/(parent.mvalue+1),1.0); width: 40; height: 40; Text{ id:txt;翻译 2016-06-07 17:16:56 · 573 阅读 · 0 评论 -
布局的move事件
property int direction: Qt.application.layoutDirection Row{ layoutDirection: root.direction; spacing: 10 id:mrow; //move是布局中的一个属性 在子元素移动时触发 move: Transition翻译 2016-06-07 16:48:51 · 701 阅读 · 0 评论 -
Qt Quick 准确的移动平台屏幕适配
网上大多数都是那一套公式,不适合拉伸布局,假如有一张图片或者一个被固定了大小的控件或图片,那么可能会失真,下面是自己实现的自适应,非常好用的说。而且网上大多数Qt quick开发群心高气傲,根本不要人加入。很多东西可以自己研究的下面写一个Col容器,宽度是固定的,这种情况下,在各种移动平台下会差别很大,不过根据我的算法就解决了,320*480是我写代码设计界面时用的界面size,在安卓上,size会原创 2016-06-07 12:21:11 · 5824 阅读 · 7 评论 -
Qt Quick中的ListView
Qt Quick中的ListView初学ListView 3要素:model : 负责每一个行的 数据delegate:负责每一个行的 外观 3.与外界如何交互,删除和添加数据(通过model和js)通过JavaScript控制边线,0,2,4,6…..才显示边框,用来显示每一行的界限,界限颜色用Qt自带的函数就可以了 JavaScript代码: Myhelp.js.pragma l原创 2016-04-22 15:02:27 · 3047 阅读 · 0 评论 -
Qt quick中,控件阴影效果
import QtQuick 2.0import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.4import QtGraphicalEffects 1.0 //使用背景色的按钮Item { width: 320; height: 480; Button{原创 2016-04-26 16:13:25 · 1972 阅读 · 0 评论 -
Qt Quick Material开源组件ApplicationWindow
“` import QtQuick 2.6 import QtQuick.Controls 1.4 import QtQuick.Window 2.2 import Material 0.1 as Material import Material.ListItems 0.1 as ListItem//源码参考: // onPrimaryColorChanged: The翻译 2016-04-28 16:35:01 · 2594 阅读 · 0 评论 -
Loader组件的动态加载
使用三个简单的页面做测试:分别是红、黄、绿。 import QtQuick 2.6import QtQuick.Controls 1.4import QtQuick.Window 2.2import Material 0.1 as Materialimport Material.ListItems 0.1 as ListItem//源码参考:// onPrimaryCol原创 2016-04-28 19:24:04 · 854 阅读 · 0 评论 -
Qt和Qml交互,及多线程
注册一个对象给qml,实现代码: Gamesub.h#pragma once#include <QObject>#include<QVariant>#include<QQmlApplicationEngine>#include <QquickItem>class Gamesub :public QObject{ Q_OBJECTpublic: Gamesub(QObj原创 2016-05-08 17:56:37 · 7863 阅读 · 0 评论 -
多点触摸:MultiPointTouchArea
MultiPointTouchArea minimumTouchPoints: 多点触摸数量的最小值 maximumTouchPoints: 最大值 touchPoints:数组,存储自定义ID,每个ID将会是一个触摸点,外部使用ID访问此触摸的状态:按下抬起、XY等等属性 代码:每次触摸触发对应的粒子特效,粒子发射坐标为触摸点的坐标MultiPointTouchA原创 2016-06-07 18:48:24 · 3158 阅读 · 0 评论 -
状态和过度
假如有一些属性,我要改掉它,以后要还原回去,最方便的就是状态机,不需要保存原始的状态,把状态清空就恢复到原始了 一个例子,点击查看设置myparent的状态为myhide,myhide的属性是 width:0;height:0;opacity:0 设置状态或还原状态后会触发过度效果Transition color变色延时500 和opacity,x,contentY,height,width原创 2016-06-07 22:50:36 · 504 阅读 · 0 评论 -
GridView And highlight
//表格布局 GridView{ id:grid; width: parent.width; height: parent.height*0.5; delegate: GridDelegate{} model: GridModel{} highlightFollowsCurrentItem: tr原创 2016-06-09 12:51:29 · 948 阅读 · 0 评论 -
QtQuick折腾结论之model delegate 的正确使用姿势
一句话总结:放在单独的文件中,避免单个文件大量代码。有益于团队开发代码分离,会让人觉得很简单,不会乱糟糟。思路清晰.1.model delegate都应该放在单独的文件中,元素内容和元素框架分离,在main文件组合!示例://*********main.qml: ListView{ width: parent.width; height: parent.hei原创 2016-06-08 20:43:32 · 4394 阅读 · 0 评论 -
QtQuick排坑(不定时更新)
Model定义在其他文件,此文件必须大写开头,否则无法被其他源文件调用*******************正确*********************main.qml: ListView{ model: MyModel{} }***MyModel.qmlListModel{ ListElement{ } ListElement{原创 2016-06-08 20:15:46 · 1877 阅读 · 0 评论 -
QtQuick 全局变量解决ListView嵌套子ListView中访问子model难题
import QtQuick 2.7import QtQuick.Controls 2.0import QtQuick.Controls 1.2 as Oldimport QtQuick.Controls.Material 2.0import QtQuick.Layouts 1.0import QtQuick.Window 2.0import QtQuick.Controls 1.4原创 2016-06-24 00:11:28 · 3220 阅读 · 0 评论