main.qml

import QtQuick 2.12
import QtQuick.Window 2.12
import QtQml.Models 2.12
Window {
visible: true
width:
height:
title: qsTr("Hello World")
FlowView {
width:
height:
columns:
spacing:
model: ObjectModel {
Rectangle { height: ; width: ; color: "red" }
Rectangle { height: ; width: ; color: "green" }
Rectangle { height: ; width: ; color: "blue" }
Rectangle { height: ; width: ; color: "yellow" }
Rectangle { height: ; width: ; color: "gray" }
Rectangle { height: ; width: ; color: "pink" }
}
}
}

FlowView.qml

import QtQuick 2.12
import QtQuick.Controls 2.12 Item {
id: root
property int columns:
property var model
property int rowSpacing
property int spacing
clip: true
property var geomeory: [] ScrollView {
anchors.fill: parent
Repeater {
model: root.model
onItemAdded: {//(int index, Item item)
if (index % === ) { //偶数放左边
if (index - >= ) { //上面有,坐标累加
item.x = spacing
item.y = spacing + geomeory[index - ].y + geomeory[index - ].height
} else { //上面没有,直接放
item.x = spacing
item.y = spacing
}
} else { //奇数放右边
if (index - >= ) { //上面有,坐标累加
item.x = spacing + geomeory[index - ].x + geomeory[index - ].width
item.y = spacing + geomeory[index - ].y + geomeory[index - ].height
} else { //上面没有,直接放. 奇数左边肯定有一个,直接用index - 1
item.x = spacing + geomeory[index - ].x + geomeory[index - ].width
item.y = spacing
}
}
geomeory.push(item)
geomeory = geomeory
}
onItemRemoved: { //(int index, Item item)
//TODO
}
}
}
}

效果图如下:

 感谢支持的涛哥,放一波 @威武的涛哥 知乎专栏链接,Qt方面的专家,而且非常乐于助人

https://zhuanlan.zhihu.com/TaoQt

Qt实现原生Flow实现不了的Item错误排列效果,类似淘宝商品展示的更多相关文章

  1. Android 原生listview item伸展收缩效果

    Android原生listview做的一个item的伸缩效果.*永远不要让你老大有机会改需求 package com.example.yunkanglast; import java.io.Seria ...

  2. 模仿淘宝首页写的高仿页面,脚本全用的原生JS,菜鸟一枚高手看了勿喷哈

    自己仿照淘宝首页写的页面,仿真度自己感觉可以.JS脚本全是用原生JavaScript写得,没用框架.高手看了勿喷,请多多指正哈!先上网页截图看看效果,然后上源码: 上源码,先JavaScript : ...

  3. 原生js仿淘宝手机购买选项代码

    这是一款基于原生js实现仿淘宝手机信息购买选项效果源码,界面整体效果仿照淘宝购物选项设计,点击不同选项还可实时显示不同的价格计算结果,界面简洁大方.美观实用.可兼容目前最新的各类主流浏览器. 在线演示 ...

  4. Qt for Android开发Android应用时的各种错误汇总(此片博文不成熟,请大家略过)

    “Qt for Android真的很脆弱,项目能跑起来靠的是奇迹,跑不起来,各种报错才是正常...” 问题一:Qt for Android编译不过:make (e=2): 系统找不到指定的文件. 之前 ...

  5. 解决Qt在openSUSE上编译出现“cannot find -lGL”错误

    在openSUSE上编译QT5.4程序出现“cannot find -lGL”,就连example都无法通过编译.QT是在官网下的最新的安装包. 大体意思是,缺少qt运行时所需要的openGL库.决绝 ...

  6. javascript学习-原生javascript的小特效(多个运动效果整理)

    以下代码就不详细解析了,在我之前的多个运动效果中已经解析好多次了,重复的地方这里就不说明了,有兴趣的童鞋可以去看看之前的文章<原生javascript的小特效> <!DOCTYPE ...

  7. Qt之窗体透明 (三种不同的方法和效果)

    关于窗体透明,经常遇到,网上的资料倒不少,也不知道写的时候是否验证过,很多都不正确...今天就在此一一阐述!       以下各效果是利用以前写过的一个小程序作为示例进行讲解!(代码过多,贴主要部分) ...

  8. Android 4.2原生支持从右到左的文字排列格式

    Android 4.1(Jelly Bean)  在TextView和EditText 元素里对“双向文字顺序”提供了有限的功能支持,允许应用程序在编辑和显示字符的时候,能够同时支持从左到右(LTR) ...

  9. Android 原生listview item伸展收缩效果 (续)

    接上一个原生的listview item的伸展收缩效果. 上一个可能做的有些粗糙,效果也没有这个好,上代码. package com.example.listviewdemo; import java ...

随机推荐

  1. zabbix4.2的yum+mariadb方式部署安装

    本文依据官方文档操作(英文4.2):https://www.zabbix.com/documentation/4.2/manual/installation/install_from_packages ...

  2. 了解Scrum敏捷开发过程的优点

    Scrum 1. 我们的团队 1.1 团队名称 开发小分队&7号 1.2 团队成员 徐棒 彭康明 刘鹏芝 罗樟 王小莉 胡广健 沈兴艳 1.3 我在团队中位置 需求实现团队(负责将需求模块实现 ...

  3. CSS3或CSS+JS实现改变滚动条样式(兼容所有浏览器)

    /*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/ ::-webkit-scrollbar { width: 16px; /*滚动条宽度*/ height: 16px; /*滚动条高度*/ } ...

  4. 在浏览器中输入www.taobao.com后执行的全部过程

    >>>点击网址后,应用层的DNS协议会将网址解析为IP地址: DNS查找过程: 1.        浏览器会检查缓存中有没有这个域名对应的解析过的IP地址,如果缓存中有,这个解析过程 ...

  5. redis连接数高居不下,怎么破?。。。。这么破

    最近项目一直在使用redis,首次用redis,随便从网上找了例子就用了,一开始用的还挺正常,后来发现,当客户端访问量一上来,redis的连接数居高不下,一开始以为是客户端没有关闭,开始怀疑redis ...

  6. React组件的定义、渲染和传值总结

    一.组件的定义 1.使用JavaScript函数定义 Welcome.js import React from 'react'; function Welcome() { return ( <d ...

  7. apache/tomcat笔记

    apache是什么? apache http server 简称apache是世界上排名前列的web服务器,因开源,简单,高性能,速度快,还可以做代理服务器,所以广受人们欢迎 httpd:httpd是 ...

  8. .NET总结一

    因为考试的原因,总结一致拖到现在才写,但必须做一个总结,没有总结相当于没有学过.VB.NET主要是用面向对象的基础来进行程序设计,虽然之前总是能够听到面向对象,但从未真正接触面向对象技术,从VB.NE ...

  9. JavaScript异步学习笔记——主线程和任务队列

    任务队列 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务.如果前一个任务耗时很长,后一个任务就不得不一直等着. 同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕, ...

  10. React Snippets 常用记录

    官网 PropTypes ptar→ PropTypes.array.isRequired ptor→ PropTypes.object.isRequired ptsr→ PropTypes.stri ...