一个动画一般有这些参数 —— 动画时间、属性变化量、以及贝塞尔插值曲线。在动效标注的时候,也只需要标注这些参数就可以完整的给UI研发写动效了。一个动效所涉及的元素属性变化,也就是'动画'在设计输出的效果视频中就可以很明确的表述,而'过渡'使用贝塞尔插值和函数来描述可以说是最有效最直观的方法了。
1、确定现场led拼接屏的宽高比,按照1920px*1080px的分辨率,F11全屏后刚好占满整屏且无滚动条;
本文介绍了如何利用HT的表格控件实现海量数据的加载和展示,重点讲解了在HT中如何实现动态数据加载和实时刷新,并给出了具体的示例代码。此外,还介绍了如何利用HT的图表控件实现数据的可视化展示,包括饼图、柱状图等。
背景 最近在一个 SCADA 项目中遇到了在 Web 页面中展示设备报表的需求。一个完整的报表,一般包含了筛选操作区、表格、Chart、展板等多种元素,而其中的数据表格是最常用的控件。在以往的工业项目中,所有的表格看起来千篇一律,就是通过数字和简单的背景颜色变化来展示相关信息。但是现在通过各种移动 App 和 Web 应用的熏陶,人们的审美和要求都在不断提高,尤其是在 Web 项目中,还采用老式的数字表格确实也有点落伍了。 如何选择一个合适的 HTML 前端表格控件?此处可以省略一万字。哈哈。jQuery
概述:本文为使用Iocomp工控图表工具绘制实时曲线探索及研究教程,为大家介绍了Iocomp控件、实时曲线绘制方法、Iocomp界面操作,属性分类等。帮助学习者更好的运用Iocomp。
前段时间工作中需要实现一种控件类似贝塞尔曲线轨迹运动的效果,也是折腾了几天,刚开始本着不重复造轮子的想法,去网上搜类似的效果,结果没搜到,后来自己实现了,抽成一个Demo,希望有需要的朋友以后可以直接用到而不用再折腾。 ---- 关于贝塞尔曲线的概念可以移步到这儿贝塞尔曲线的介绍 。 原理其实很简单,根据贝塞尔公式,用四个点确定一个轨迹,然后通过给控件设置动画,根据时间计算出控件此刻应该在的位置(可以理解为在屏幕上的坐标),只要四个点设置的恰当,可以让控件运行任何的轨迹 先上个效果图(电脑太卡,
Winform控件是Windows Forms中的用户界面元素,它们可以用于创建Windows应用程序的各种视觉和交互组件,例如按钮、标签、文本框、下拉列表框、复选框、单选框、进度条等。开发人员可以使用Winform控件来构建用户界面并响应用户的操作行为,从而创建功能强大的桌面应用程序。
基本形状的绘制,我们可以从图形类提供的方法中找到解决方案,比如三角形即画三条相互连接的直线,心形则依次画几个半圆形组合,关键问题是找准其中的连接点位置,常见图形都可以通过基本方法调用画出。但是一些数学曲线的处理就较为繁琐,不是标准的形状组成,需要两点一线逐一绘制,这里我们以一些常用曲线及图表为例。
众所周知,刚刚开源的「鸿蒙 2.0」以 JavaScript 作为 IoT 应用开发的框架语言。这标志着继 SpaceX 上天之后,JavaScript 再一次蹭到了新闻联播级的热点。这么好的机会,只拿来阴阳怪气实在太可惜了。作为科普,这篇文章不会拿着放大镜找出代码中的槽点来吹毛求疵,而是希望通俗地讲清楚它所支持的 GUI 到底是怎么一回事。只要对计算机基础有个大概的了解,应该就不会对本文有阅读上的障碍。
项目概述 2017年短视频产品爆发,有别于一般短视频产品,DOV主要讲求透过短视频记录生活,并且将短视频分享给熟人关系链好友,透过短视频本身作为媒介达到社交的目的。目标族群明确的定位在于高中以上的年轻族群。设计的任务除了基础的体验之外,更应该将分享生活的轻松感以及时下年轻人的生活态度结合至产品之中,藉由视觉的手法提升用户的记忆与认同。 本次DOV的品牌设计在基础UI已具备的条件下,上线前两周经过讨论,以QQ family中人气最高的多福熊作为吉祥物,品牌LOGO也沿用了多福的形象,为了有更全面的品牌感
最近公司的一个系统有用到Extjs框架,对于之前完全用JQuery的js插件的我来说,对Extjs的api并不熟悉。extjs是个富客户端框架,一般用来做后台管理系统,封装了非常多的控件,很庞大,很复杂,学习门槛高。jquery是一个前后台都可以用的框架,是对js的封装,js轻量级框架。没有封装任何控件,学习曲线小,程序员和前端必须要掌握的。 这两天体验了一下,如图:
项目介绍 JeecgBoot是一款基于代码生成器的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性! 当前版本:v2.4.6 | 2021-08-1
某个设备有很多生产工艺数据需要记录,数据可能有100~200个不等。一般会用单独一个屏幕显示趋势图。操作上的主要诉求有以下几点:
一、功能特点 整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。 子控件包括饼图+圆环图+曲线图+柱状图+柱状分组图+横向柱状图+横向柱状分组图+合格率控件+百分比控件+进度控件+设备状态面板+表格数据+地图控件(包括动态闪烁点+迁徙图等)+视频控件+其他控件等。 二级界面可以自由拖动悬浮,支持最小化最大化关闭,响应双击自定义标题栏。 数据源支持数据库采集(默认)、网络通信、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。 采用纯QWidget编写,支持Qt4.6
腾讯ISUX isux.tencent.com 社交用户体验设计 项目概述 2017年短视频产品爆发,有别于一般短视频产品,DOV主要讲求透过短视频记录生活,并且将短视频分享给熟人关系链好友,透过短视频本身作为媒介达到社交的目的。目标族群明确的定位在于高中以上的年轻族群。设计的任务除了基础的体验之外,更应该将分享生活的轻松感以及时下年轻人的生活态度结合至产品之中,藉由视觉的手法提升用户的记忆与认同。 本次DOV的品牌设计在基础UI已具备的条件下,上线前两周经过讨论,以QQ family中人气
该控件效果基于PullZoomView源码改动的而来,感谢Frank-Zhu的开源代码.该控件具有下拉放大背景图和贝塞尔曲线的效果.
使用Iocomp Components 5.0以上能够助程序员开发出逼真的工控仪表和工控图表,让程序开发不再消耗时间和精力,有了这个控件不仅能节约开发时间,而且还降低了项目风险,最重要的是第三方控件写的程序更专业,工控图表图像更精细。
项目介绍JeecgBoot是一款企业级的低代码平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领低代码开发模式(OnlineCoding-> 代码生成-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省成本,同时又不失灵活性! 当前版本:v3.4.3 | 2022-10-18源码下载
波浪曲线控件,其实是之前一个水波进度条控件的一个核心,其实就是利用正弦曲线来生成对应的坐标进行绘制,把这个功能单独提取出来,是为了更详细的研究各种正弦余弦等拓展效果,当时写这个效果的时候,参考的是网上android绘制的水波效果的代码,然后自己重新理解以后,整理成Qt的版本,拓展了部分效果比如可以设置浪的高度,浪的密度,密度越大越浪,^_^,演示控件效果提供了滑块来设置对应的参数。
BottomNavigationBar即底部导航栏控件。显示在应用底部的质感设计控件,用于在少量视图中切换。底部导航栏包含多个以标签、图标或两者搭配的形式显示在项目底部的项目,提供了应用程序的顶级视图之间的快速导航。对于较大的屏幕,侧面导航可能更好。
本控件已上传Github,欢迎Star和Fork,项目地址:CircleWaterWaveView
https://bbs.csdn.net/topics/603957384 您好,我是csdn-尔嵘,正在参加2021年度博客之星,希望投个五星,感谢大家的支持,谢谢您的支持!
为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派、香橙派、全志H3、imx6)展示这么华丽的界面时,就必须用最传统的painter方法来实现所有的控件了,一开始使用的QChart来实现各个子控件,在使用过程中发现比较鸡肋,个人感觉QChart是所有的子模块中源码写的最烂的,本人把QChart的源码看了一遍,比如饼图控件,居然放置一个label用来显示对应的文字描述,都懒得用painter去绘制,而且还有大量的类型转换,这个就效率大大降低了,虽然效果上挺好的,比如继承自QAnimation类自定义的chart动画类,还有个整体换肤的,但是在大量数据展示的时候,卡的一逼,比QWT和QCustomPlot差很远,本人看过QCustomPlot的源码,尽管就一个文件,(其实作者那边肯定是多个文件的,只不过发布的时候合并成一个文件发布的,毕竟这样对于用户来说使用还是很方便的,就是阅读不方便,毕竟大部分人用来是直接使用的而不是研究代码的。)但是里边的代码质量非常好非常高,本人特别推崇用QCustomPlot来展示曲线和柱状图等,效率很高,本人亲自试过最大展示50W数据点,还可以。据朋友所说,可能QWT质量还要更高,我没有研究过QWT的源码,不予置评,估计有可能是的。
现在市面上直播类的应用可以说是一抓一大把,随随便便就以什么主题来开发个直播App,说白了就想在这领域分杯羹。在使用这些应用过程中其实不难发现,在所有的直播界面,少不了的就是各种打赏、各种点赞。今天自己就针对点赞功能敲了一下,代码不多,主要是涉及到动画运动轨迹运算,这里需借助 贝塞尔曲线 相关知识,我使用三阶贝塞尔曲线来实现轨迹动画。
在现在的App设计中,轮播基本成为了每个应用的“标配”,有了轮播,就自然需要有对应的指示器,代表当前轮播的进度,现在市面上指示器的样式大部分都是基于小圆点的形式,实现这个基本的效果网上也有很多轮子,本文主要是在实现基本效果的基础上,在切换圆点之间添加一个粘性过渡的动画效果。
1 <概述> <大多数 WinCC 项目都需要显示历史归档数据,可以制作专门的趋势曲线画面来显示重要参数的归档数据,也可以通过点击工艺画面中实时参数显示的对象来弹出对应的变量的归档数据。本文档介绍如何实现点击画面中的输出输入域后弹出其所链接变量的归档数据。 > 1.1 <解决思路> <总体解决思路是通过 WinCC 的 GetLink 函数来获取指定的 WinCC 对象所链接的变量,同时弹出带有在线趋势的画面,接着在弹出画面的画面打开事件中加载已经获取的变量对应的历史归档数据到在线趋势。> 1.2 <GetLink 函数> < GetLink 函数可以获取指定的 WinCC 对象的属性下所链接的变量。 GetLink 函数的格式: BOOL GetLink(LPCTSTR lpszPictureName, LPCTSTR lpszObjectName, LPCTSTR lpszPropertyName, LPLINKINFO *pLink); 各个参数的含义如下: lpszPictureName:对象所在的画面名称。 lpszObjectName:对象名称。 lpszPropertyName:链接了变量的对象属性名称。 pLink:为数据结构变量,类型为 LPLINKINFO,包括以下内容: szLinkName:属性动态化所链接的变量。 LinkType:属性动态化的连接类型,如表 1 所示。 表 1
之前做获取边界点的时候,主要采用的是在线地图的方式,因为在线地图中直接内置了函数可以根据行政区域的名称来自动获取边界,其实这些边界就是一些点坐标集合连接起来的平滑线,然后形成的轮廓图,这种方式有个弊端就是只能在线的时候使用,而我们大部分的应用场景应该是离线的,甚至很多设备永远是离线的,根本不可能去联网获取信息,但是又想要这个各省市区域的轮廓图怎办呢,只能事先拿到下载到这些需要的轮廓图文件才行,这些文件存储的就是经纬度坐标集合,在离线地图中只需要定义不规则线条绘制传入这些经纬度坐标集合即可。
HTML5 作为当前“最火”的跨平台、跨终端(硬件)开发语言,越来越受到前端开发者 的重视,无论是 PC 端还是当前“火热”的移动端,其前端开发人员的占比均越来越高。此 消彼长,HTML5 开发者的增加自然导致 WPF / Flex / QT 等前端技术开发人员的缩减。为了 解决前端“跨平台”的问题,并应对开发人员稀缺的窘境,我们迫切的需要选择或更换新的 技术路线,而 HTML5 当为首选。本次测试目的是为了验证使用 HTML5 作为前端技术路线,能 否满足大屏(高分辨率,超过 8K)可视化的展示需求。
在所有可用于创建web应用程序的语言中,JavaScript可能是最健壮的库和框架选择。事实上,有太多的东西,很难弄清楚该用哪一个,尤其是当你刚刚开始的时候。
Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面。当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强。如今,已有许多开发人员开始使用 Vue.js 来取代 Angular 和 React.js 。 那么对于 Angular 和 React.js ,开发者该如何选择呢? 下面我们会对这两种框架进行介绍和深度对比。 Vue.js 是前 Google 员工 Evan You 的开发的,并于2014年发布,现已获得了超过57,000个 GitHub
ComponentOne Enterprise 是一款专注于企业应用 .NET开发的 Visual Studio 组件集,包含 300多种 .NET控件,支持 WinForm,WPF,UWP,ASP.NET MVC 等七个 .NET开发平台,具备表格数据管理、数据可视化、报表和文档、日程安排、输入和编辑、导航和布局、系统提升工具等七大功能,满足企业应用开发的全部需求。
最近要做一个项目需要绘制曲线,为了节省时间,就选用了iocomp控件,可网上相关的教程极少,官方给的文档还是比较详尽,但缺少具体的前期准备步骤,在初次接触这个控件很容易蒙,所以我写下这篇,给入门者以便利。
二级窗体的打开与关闭,这个功能也很有必要,由于整个系统中各种模块数量窗体数量比较多,后期可能还会增加更多,在4K屏幕上可以显示很多的模块,但是有时候有些模块不想显示出来,就需要将该模块关闭掉,直接在二级窗体的标题栏上增加关闭按钮,可能会影响整体的布局,此时提供鼠标右键菜单来控制各个模块的开关,就非常爽了,QDockWidget上场,QMainWindow类中如果有Dock类,则会自动生成右键菜单,自动将加载的窗体的名称生成菜单,前面可以打钩表示开启,没有打钩表示关闭,默认都是开启的,saveState()函数也会记录各个模块最后的开启和关闭状态,所以在应用restoreState()函数时候也会自动控制模块的开关,不得不说Qt在这个功能点上是下足了功夫,封装的非常好非常棒顶呱呱!
窗体浮动的场景也比较多,用途也比较大,比如视频监控模块,有时候需要调整大小和位置,而不是作为dock嵌入到布局中,一旦嵌入到布局中,大小和位置都被布局接管了,只能任由布局使唤,按在地上摩擦的那种。所以窗体浮动独立出来以后,就可以当做单独的窗体使用了,八个方位任意调整大小,(做到这里,是不是想起来,很多人写的无边框窗体类,自己写代码实现边框的拉伸调整大小?原来Qt也内置类无边框调整大小的位置哈!)同时窗体可以拖动到任意位置,比如可以拖动到中间部位占领一个位置,能够调整到最佳的16:9的大小效果。此时的视频看起来就很爽了,这个效果其实是Qt内置的,我在自定义的标题栏中增加了双击浮动,再次双击最大化显示的功能而已。
WPF控件是Windows Presentation Foundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。
为了抛弃对QChart的依赖,以及echart的依赖,(当然,后期也会做qchart的版本和echart的版本,尤其是echart的版本是肯定会做的,毕竟echart的效果牛逼的一塌糊涂,全宇宙最牛逼吧。)特意对QCustomPlot进行了大刀阔斧的改造,当然这个改造不是直接在源码上修改,这个就破坏了源码的完整性,说不定被QCustomPlot的作者知道了有种被QJ的感觉,我得改造是直接继承QCustomPlot中的部分类开始的,比如为了实现横向柱状图,特意继承自QCPItemRect类来实现的,包括了横向柱状图和横向柱状分组图。在这个横向柱状图的自动计算过程中,居然用到了十几年前学习的二元一次方程,自动计算数据和柱状图位置,给定两个数据点绘制矩形。
布局另存是数据可视化大屏界面电子看板系统中的额外功能之一,主要用于有时候用户需要在现有布局上做个微调,然后直接将该布局另存为一个布局配置文件使用,可以省略重新新建布局重新来一次大的调整的工作,此功能主要是用到了配置文件的保存,另存为一个不同名字的配置文件即可,属于非常简单的功能,在代码上来讲,其实Qt的配置文件类QSettings使用起来不要太方便,不仅支持WIN的注册表的读取写入,还支持跨平台的INI文件,说白了其实就是个文本文件,个人比较喜欢用INI文件作为配置文件,这样一方面跨平台,本人平时主要在嵌入式linux上做开发,INI文件是做好的选择。
上次在写大屏数据可视化电子看板系统时候,提到过改造QCustomPlot来实现柱状分组图、横向柱状图、横向分组图、鼠标悬停提示等。这次单独列出来描述,有很多人疑问为啥不用QChart,或者echart等形式,其实这两种方式我都尝试过,比如Qt5.7以后新增的QChart模块,曲线这块,支持数据量很小,而且用法极其不适应,非常别扭,尤其是10W以上数据量的支持,简直是渣渣,优点也是有很多的,比如动画效果,我看过他的完整源码,动画这块处理的非常好,连坐标轴都可以有动画效果,而且支持很多种效果,而且内置了很多套theme皮肤,省去了很多渣渣审美的程序员自己来配色,这个倒是挺方便的。而对于echart,必须依赖浏览器控件,资源占用比较高,后面决定采用改造QCustomPlot来实现用户需要的各种图表效果。
在数据可视化大屏界面电子看板系统中,前期为了使用目标客户机,调整间距是必不可少的工作,QMainWindow中的QDockWidget,会默认生成布局和QSplitter调整宽高大小,鼠标移动到模块之间的缝隙处,鼠标指针会形成调整大小间距的那种,上下左右拉动就可以调整大小了。Qt的dock默认底部布局是被全部填充的,即一旦产生了底部Dock,则底部的左侧和右侧也属于底部布局,此时需要用setCorner方法来把这个布局给切掉,比如底部布局的左侧部分,可以切掉当做左侧布局使用,setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea);底部布局右侧部分,可以切掉当做右侧布局使用,setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea);这样左右两侧的布局就有更大的空间来放置窗体了,这样可能更适合大部分的应用场景。如果只是切掉了一部分,比如切掉了右侧,则左侧和中间部分当做底部布局,放置一个长条状的大窗体,也是非常美观的,主要看具体的窗体大小了。
恢复的话重新设置下轴的最大最小范围setRange即可。这里介绍下鼠标左键单击实现恢复的办法:
贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具上看到的钢笔工具就是来做这种矢量曲线的。贝塞尔曲线是计算机图形学中相当重要的参数曲线,在一些比较成熟的位图软件中也有贝塞尔曲线工具,如PhotoShop等。
恢复布局这个功能在整个数据可视化大屏界面电子看板系统中非常有用,很多时候不小心把现有布局拖动乱了,(当然如果不想布局被拖动改动,可以修改配置文件中的MoveEnable参数来控制,默认为真表示可以任意拖动布局,后期如果不想再被拖动可以设置为假。)人总归有不小心的时候,一旦不小心拖动了布局,则可以在软件没有退出之前恢复,鼠标右键菜单增加恢复布局这个功能就很有必要了,在保存布局以前,单击这个恢复布局,会自动恢复到当前布局的初始状态,如果不小心保存布局了,那就只能重新新建布局了,或者如果布局有备份的话就更好。恢复布局只能对当前布局进行恢复,而且是在未保存布局以前,以后就麻烦。
上次在写可视化数据大屏电子看板项目的时候,为了逐步移除对QChart的依赖(主要是因为QChart真的太垃圾了,是所有Qt的模块中源码最烂的一个,看过源码的人没有一个不吐槽,不仅不支持10W级别的数据量曲线展示,居然一个饼图控件,文字部分的展示还用QLabel来显示的,这么低效率的方式都有),起初曲线图和柱状图等都用QCustomPlot替代了,就剩一个饼图需要自己用无敌的QPainter来绘制了,绘制对应的背景区域难度不大,稍微会用QPainter的人都可以实现,用的就是drawPie绘制即可,关键是如何在自己所在的区域绘制对应的文字和百分比,这个需要找到对应区域,然后找到合理的位置摆放文字,这个可能就需要用到一点数学知识了,从圆中心开始,给定对应的角度,对应的偏离值,计算偏离值对应的中心点坐标,此坐标作为绘制文字区域的中心,然后四周扩散一定的距离即可。
工欲善其事必先利其器。作为一名产品经理,如何才能快速地设计一款产品?一款优秀的产品原型工具必不可少。如何才能选择一款适合自己的原型工具呢?小编特意整理了8款工具以供参考,并从学习曲线,性价比,功能优缺点等方面进行了简单的介绍。希望能够帮助大家挑选一款称心如意的工具,提高工作效率。
GitHub:https://github.com/oxyplot/oxyplot
本文的目的是实现类似于QQ消息提醒的气泡的拖拽效果。网上已有大神的实现效果是通过监听控件的OnTouchEvent事件的ACTION_DOWN,ACTION_MOVE,ACTION_UP事件来处理相应的拖拽效果,这里采用ViewDragHelper的方式去实现拖拽,顺便学习了一下ViewDragHelper的使用方式,拖拽时的粘连效果采用贝塞尔曲线来实现。
Jeecg-Boot 是一款基于代码生成器的智能开发平台!采用前后端分离架构:SpringBoot,Mybatis,Shiro,JWT,Vue&Ant Design。强大的代码生成器让前端和后台代码一键生成,不需要写任何代码,保持jeecg一贯的强大,绝对是全栈开发福音!! JeecgBoot在提高UI能力的同时,降低了前后分离的开发成本,JeecgBoot还独创在线开发模式(No代码概念),一系列在线智能开发:在线配置表单、在线配置报表、在线图表设计、在线设计流程等等。
这个控件写了很久了,元老级别的控件之一,开发之初主要是自己的好几个项目要用到,比如提供一个颜色下拉框设置对应的曲线或者时间颜色,视频监控项目中经常用到的OSD标签设置,这个控件的难度系数接近0,初学者都会,其实网上搜索也很多人提供了绘制的方法,就是枚举QColor::colorNames()拿到所有的内置的颜色,然后生成对应的图片作为icon设置到下拉框的item中去,对应icon的宽高由控件本身的宽高决定,本控件继承自qcombobox控件,完全保留了该控件的所有特性,同时新增了颜色改变信号,以便用户使用。
领取专属 10元无门槛券
手把手带您无忧上云