Qt编写物联网管理平台34-地图按钮

Qt编写物联网管理平台34-地图按钮,第1张

地图按钮很常见,这也是用户给钱就干的一个模块。设备现场提供了对应的地图文件,其实就是图片文件,做的简单点就是直接CAD图纸转成jpg,做的精致点就是搞了3D风格的立体样式图片,其实还是图片,并不是真正的3D,看起来像是3D的感觉。很多人看到效果图都来问这个3D怎么实现的,真正的3D实现都非常复杂,需要懂opengl,网页上用的是webgl,当然也有不少的轮子可以直接使用。

地图按钮就是一个终端传感器作为一个按钮点,分布在对应的图片文件上,其实就是父类设置为label,label显示对应的图片。图片大小的算法,目前采用的当前分辨率计算,当前分辨率减去上下左右的尺寸就是图片应该的尺寸,拉伸填充显示,所以要求用户提供的图片最好按照现场电脑的分辨率比例来设置,这样不会显得拉伸变形,后期这一块需要改进算法,难点就是按钮在设置界面的相对位置不好计算,除非是绘制上去的。

地图按钮几个特色功能:

比如我需要添加一个叫*.so.*的文件,这个*.so文件在/etc目录下(随便定的目录)

在.pro文件里添加:

LIBS += -L /etc/ -l*

在.cpp引用的时候,还需要把相关的头文件包含进去

QBitmap 类提供单色(monochrome,1位深度)像素图。

QBitmap类是单色的 off-screen 绘画设备,主要用于创建自定义 QCursor 和 QBrush 对象,构造 QRegion 对象以及为像素图(pixmaps)和小部件(widgets)设置蒙版。

QBitmap 是确保深度为 1 的 QPixmap 子类,深度为 0 的空对象除外。如果将深度大于 1 的像素图分配给位图,则位图将自动抖动。

在 QBitmap 对象(或深度为 1 的 QPixmap 对象)上绘制时,请使用 QColor 对象 color0 和 color1 。使用 color0 进行绘制会将位图位设置为 0,使用 color1 进行绘制会将位图位设置为 1。对于位图,0 位表示背景(或透明像素),而 1 位表示前景(或不透明像素)。使用 clear() 函数将所有位设置为 color0 。请注意,使用黑色和白色是没有意义的,因为 QColor::pixel() 值对于黑色不一定为 0,对于白色不一定为 1。

QBitmap 类提供了 transformd() 函数,该函数返回位图的转换后的副本;使用 QTransform 参数平移,缩放,剪切和旋转位图。另外, QBitmap 提供了静态的 fromData() 函数,该函数返回从给定的 uchar 数据构造的位图,以及静态的 fromImage() 函数,返回转换后的 QImage 对象的副本。

就像 QPixmap 类一样, QBitmap 通过使用隐式数据共享进行了优化。有关更多信息,请参见 Implicit Data Sharing 文档。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7514251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存