[ucgui] 仪表盘函数

简介:


 

 

复制代码
 1 /*
 2 仪表盘
 3 */
 4 void DrawArcScale(void)
 5 {
 6     int x0 = 160;
 7     int y0 = 180;
 8     int i;
 9     char ac[4];
10     GUI_SetBkColor(GUI_WHITE);
11     GUI_Clear();
12     GUI_SetPenSize( 5 );
13     GUI_SetTextMode(GUI_TM_TRANS);
14     GUI_SetFont(&GUI_FontComic18B_ASCII);
15     GUI_SetColor( GUI_BLACK );
16     GUI_DrawArc( x0,y0,150, 150,-30, 210 );
17     //GUI_Delay(1000);
18     for (i=0; i<= 23; i++)
19     {
20         float a = (-30+i*10)*3.1415926/180;
21         int x = -141*cos(a)+x0;
22         int y = -141*sin(a)+y0;
23         if (i%2 == 0)
24         GUI_SetPenSize( 5 );
25         else
26         GUI_SetPenSize( 4 );
27         GUI_DrawPoint(x,y);
28         if (i%2 == 0)
29         {
30             x = -123*cos(a)+x0;
31             y = -130*sin(a)+y0;
32             sprintf(ac, "%d", 10*i);
33             GUI_SetTextAlign(GUI_TA_VCENTER);
34             GUI_DispStringHCenterAt(ac,x,y);
35         }
36     }
37 }
复制代码
相关文章
|
5月前
|
BI
Qt 报表实现(二)----QtXlsx
Qt 报表实现(二)----QtXlsx
204 2
|
编解码 开发工具 C语言
Qt编写自定义控件10-云台仪表盘
一、前言 做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程序简单,界面美工,主要取决于美工的美图能力,缺点是对于各种分辨率的适应性稍微差点,需要不同的图片切图贴图,除非默认做好的是大图自适应看不出差别,可能大部分人所在的公司都是小公司,一般美工人员比较少甚至没有,都需要程序员一人负责,甚至一开始就要考虑到各种分辨率的应用场景以及后期可能的换肤换色等。
1393 0
|
程序员 C语言
Qt编写自定义控件49-飞机仪表盘
一、前言 飞行仪表是测定和表示飞机数据的工具,飞机中必不可少的一部分,飞行员根据飞行仪表表示的数据才能正确地做出判断。一般飞机仪表包括高度表+空速表+垂直速率表+姿态仪+航向指示表+转弯协调表。这次要绘制的是其中的姿势仪,显示飞机相对于地平线的姿态,看姿态仪,飞行员能判断飞机姿态为偏左偏右,及偏上和偏下。
1711 0
|
Windows
【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 )(二)
【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 )(二)
177 0
【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 )(二)
|
C++ Windows
【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 )(一)
【OpenGL】七、桌面窗口搭建 ( 导入头文件 | 桌面程序入口函数 | 注册窗口 | 创建窗口 | 显示窗口 )(一)
146 0
|
编解码
KodeLife | Shader 实时编辑预览的强大工具使用实践
经常有朋友在群里面问想学习 Shader 有什么工具可以推荐? 今天它来了~~~
570 0
KodeLife | Shader 实时编辑预览的强大工具使用实践
|
程序员 C语言
Qt编写自定义控件54-时钟仪表盘
一、前言 这个控件没有太多的应用场景,主要就是练手,论美观的话比不上之前发过的一个图片时钟控件,所以此控件也是作为一个基础的绘制demo出现在Qt源码中,我们可以在Qt的安装目录下找到一个时钟控件的绘制,甚至还有qml版本,本控件无非就是一个仪表边框加上时钟分钟刻度再加上时分秒指针,打完收工,我是在此基础上增加了可以设置各种颜色,然后鼠标右键可设置四种效果 普通效果/弹簧效果/连续效果/隐藏效果,弹簧效果的意思是秒钟走动的时候,先移动到超过指定位置,然后又重新弹回来,连续效果的意思是将步长减少,一点点的移动,将秒钟的定时器精度调高。
1128 0
|
程序员 C语言
Qt编写自定义控件51-可输入仪表盘
一、前言 这个控件是近期定制的控件,还是比较实用的控件之一,用户主要是提了三点需求,一点是切换焦点的时候控件放大突出显示,一点是可直接输入或者编辑值,还有一点是支持上下键及翻页键和鼠标滚轮来动态修改值,类似于qspinbox控件。
1685 0
|
程序员 C语言
Qt编写自定义控件50-迷你仪表盘
一、前言 这个控件取名叫迷你仪表盘,是以为该控件可以缩小到很小很小的区域显示,非常适合小面积区域展示仪表数据使用,还可以手动触摸调节进度,是我个人觉得最漂亮小巧的一个控件。初次看到类似的控件是在一个音乐视频编辑软件中,用来展示左通道右通道音量等,有非常多的类似的迷你仪表盘在整个软件系统中,用户可以直接鼠标滑动调节,以最小的占用区域展示最大的信息,漂亮!本控件还拓展了可以左右等分显示,比如中间的值是0,左侧就是低于0的值区域,右侧就是大于0的值区域,进度不一样展示,支持左右旋转角度设置以及各种颜色的设置。
909 0