本文将通过分享多种方法,包括成功的与失败的尝试,来讲解如何在Tableau中创建蝌蚪图等带有空心圆的图表。...我之前遇到过这种情况并且多年来尝试过各种方法,所以我会分享自己一些的尝试和简单的解决方法,用于在Tableau中使用空白圆绘制蝌蚪图等图表。...蝌蚪图 在我们开始之前,这里有一个Emma Cosh(https://twitter.com/EGCosh)嘲笑过的蝌蚪图(不是用Tableau绘制的)。 这不是一个新的图表。...回顾一下,这个图和连接点图(也叫哑铃图)有相同的作用,但是这个是用单点绘制的。 就个人而言,我喜欢Emma为这个由一条线和一个单点组成的图形提出的名称:蝌蚪图。...带有空心圆圈的哑铃图: 前一时段用空心圆而当前时段用实心圆表示的哑铃图: 用白色圆圈在点与线之间构造间隙的哑铃图: 带有空心圆圈的棒棒糖图: 带有空心圆圈的折线图
painter.setRenderHint(QPainter::Antialiasing); //使绘制时边缘平滑,qt反走样默认关闭 painter.setPen(Qt::NoPen);//画笔样式...//绘制圆形矩形 painter.restore(); //按钮 painter.save(); painter.setBrush(Qt:...//绘制圆按钮 painter.restore(); } } 鼠标点击进行绘制,按钮从左边滑到右边应该有一个运动状态。这就是定时器。...} 绘制矩形:paint->drawRect(20,20,160,160); 第1、2个参数制定矩形的左上角起点,第3个参数制定矩形的长度,第4个参数指定矩形的宽度 绘制圆和椭圆:paint...绘制圆角矩形:paint->drawRoundRect(20,20,210,160,50,50); 前面四个参数和绘制矩形的参数一致,最后两个参数决定角的圆度。
QPainterPath,然后在mouseMoveEvent中判断,需要开启鼠标捕捉。...drawOutCircle(&painter); //绘制外层饼图 drawOutPie(&painter, scale, rect.center()); //绘制中间圆...drawMidCircle(&painter); //绘制里层饼图 drawInPie(&painter, scale, rect.center()); //绘制里边圆...drawInCircle(&painter); painter.restore(); //重新等比例缩放,绘制文字,文字放在后面绘制是为了不被圆遮挡 painter.scale...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
一方面为了锻炼自己的毅力+坚持力,一方面为了宣传自己,如果各位对完整的源码有兴趣可以私聊,也欢迎在文章下面评论提出建议,谢谢!...drawCrownCircle(&painter); //绘制背景圆 drawBgCircle(&painter); //绘制刻度 drawScale(&painter...); //绘制东南西北标识 drawScaleNum(&painter); //绘制覆盖圆外圆 drawCoverOuterCircle(&painter); /.../绘制覆盖圆内圆 drawCoverInnerCircle(&painter); //绘制覆盖圆中心圆 drawCoverCenterCircle(&painter);...//绘制南北指针 drawPointer(&painter); //绘制中心圆 drawCenterCircle(&painter); //绘制当前值 drawValue
painter.translate(width / 2, height / 2); painter.scale(side / 200.0, side / 200.0); //绘制外圆...drawOuterCircle(&painter); //绘制内圆 drawInnerCircle(&painter); //绘制饼圆 drawColorPie...(&painter); //绘制覆盖圆 用以遮住饼圆多余部分 drawCoverCircle(&painter); //绘制刻度线 drawScale(&painter)...drawRoundCircle(&painter); //绘制指针中心圆 drawCenterCircle(&painter); //绘制当前值 drawValue...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
要能够支持直接输入首先想到的就是qlineedit控件,在原有的仪表盘控件上中间部分,放置一个qlineedit控件用来输入值,采用正则表达式来限制只能输入数字,为了使得qlinedit和自定义绘制的仪表盘完全融为一体...painter.translate(width / 2, height / 2); painter.scale(side / 200.0, side / 200.0); //绘制外圆...(&painter); //绘制中心圆 drawCenterCircle(&painter); //绘制单位 drawUnit(&painter); } void GaugeEdit...usedColor); painter->drawPie(rect, (270 - startAngle - angleCurrent) * 16, angleCurrent * 16); //绘制剩余值饼圆...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
drawBg(&painter); //绘制饼圆 drawColorPie(&painter); //绘制覆盖圆 用以遮住饼圆多余部分 drawCoverCircle...(&painter); //绘制中心圆 drawCircle(&painter); //根据指示器形状绘制指示器 if (pointerStyle == PointerStyle_Circle...value - minValue) / (maxValue - minValue)); double angleOther = angleAll - angleCurrent; //绘制当前值饼圆...progressColor); painter->drawPie(rect, (270 - startAngle - angleCurrent) * 16, angleCurrent * 16); //绘制剩余值饼圆...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
/内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色 7:自适应窗体拉伸,刻度尺和文字自动缩放 8:可自由拓展各种渐变色,各圆的半径 9:指示器样式可选择 圆形指示器 指针指示器 圆角指针指示器 三角形指示器.../内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色 * 7:自适应窗体拉伸,刻度尺和文字自动缩放 * 8:可自由拓展各种渐变色,各圆的半径 * 9:指示器样式可选择 圆形指示器 指针指示器 圆角指针指示器...else if (pointerStyle == PointerStyle_Triangle) { drawPointerTriangle(&painter); } //绘制指针中心圆外边框...drawRoundCircle(&painter); //绘制指针中心圆 drawCenterCircle(&painter); //绘制当前值 drawValue...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用
一、前言 做过安防视频监控的同学都清楚,在视频监控系统软件上都可以看到一个云台控制区域,可以对球机进行下下左右等八个方位的运动控制,还可以进行复位,一般都是美工作图好,然后贴图的形式加入到软件中,好处是程序简单...painter.scale(side / 200.0, side / 200.0); if (cloudStyle == CloudStyle_Black) { //绘制外圆背景...bgColor : baseColor); } else if (cloudStyle == CloudStyle_White) { //绘制外圆背景 drawCircle...::NoPen); painter->setBrush(brush); //绘制圆 painter->drawEllipse(-radius, -radius, radius...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色 7:自适应窗体拉伸,刻度尺和文字自动缩放 8:可自由拓展各种渐变色,各圆的半径 三、效果图 [在这里插入图片描述] [在这里插入图片描述] 四、头文件代码.../内圆背景/饼圆三种颜色/刻度尺颜色/文字颜色 * 7:自适应窗体拉伸,刻度尺和文字自动缩放 * 8:可自由拓展各种渐变色,各圆的半径 */ #include #ifdef...drawArc(&painter); //绘制圆弧进度小球 drawCircle(&painter); //绘制刻度线 drawScale(&painter);...//绘制刻度值 drawScaleNum(&painter); //绘制当前值 drawValue(&painter); //绘制标题 drawTitle...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
一、前言 在各种各样的执行任务界面,有时候需要比较多的时间,需要给出一个直观的等待进度条表示当前正在执行的进度,而不至于懵逼在那里,用户不会觉得程序死了还是干嘛了。...当时在写这个等待进度条的时候,就有考虑到集成多种样式进去供用户选择,比如圆弧状风格、旋转圆风格、三角圆弧、线条风格、圆环风格等,一个控件就相当于五六个控件,这个才牛逼一些,而且代码还很完整和精彩。...//前景色 QColor textColor; //文字颜色 QTimer *timer; //定时器绘制...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。
,展示汽车的当前速度和各种指标情况,比如生成领域的完成百分比等,控件采用纯painter绘制,自由拉伸不变形,背景透明的,贴上个背景图就会显得更漂亮。...(double)ringMidPercent / 100; double angleEnd = angleAll * (double)ringEndPercent / 100; //绘制第一圆环...setPen(pen); painter->drawArc(rect, (270 - startAngle - angleStart) * 16, angleStart * 16); //绘制第二圆环...painter->drawArc(rect, (270 - startAngle - angleStart - angleMid) * 16, angleMid * 16); //绘制第三圆环...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
、线条和轮廓,以及设置画笔的线宽、颜色、样式、画刷 画笔颜色可以在实例化画笔对象时进行设置,画笔的宽度是通过setWidth()方法进行设置,画笔的风格是通过setSytle()方法进行设置,设置画刷主要是通过...300个像素,向右移动300个像素 4、其他 (1)移动画家位置 painter.drawEllipse(QPoint(100,100),100,100); //移动画家位置,此时(200,0)就是下个圆的...,其实是跟第二个圆重叠了,就是因为画家恢复了状态,导致画家的移动失效了 5、其他 (1)QPixmap //画布大小 QPixmap map(600,600); //实例化画家 QPainter painter...(&map); //画笔颜色 painter.setPen(Qt::green); //画圆 painter.drawEllipse(QPoint(100,100),100,100); //保存绘制的图片..., ui(new Ui::Widget) { ui->setupUi(this); QPicture picture; QPainter painter; //开始在画布上画画
paintEvent()函数如下所示 void Dial::paintEvent(QPaintEvent *) { QPainter painter(this); painter.setPen(Qt...drawScaleTextColor(painter); //画刻度值 drawPointColor(painter); drawCenterColor(painter); //绘制中心圆...drawlabelColor(painter); } 2.然后进入drawObkColor()函数,来绘画外圆盘,函数如下所示 void Dial::drawObkColor(QPainter& paint) //绘制外圆...3.然后接下来开始画刻度圆,画了它后,才能开始画刻度和划过的颜色等 void Dial::drawScalebkColor(QPainter &paint) //绘制刻度圆 { paint.save...7.然后继续画中心圆 void Dial::drawCenterColor(QPainter &paint) //绘制中心圆 { paint.save(); QRadialGradient
drawBg(&painter); //绘制进度 drawRing(&painter); //绘制间隔,重新绘制一个圆遮住,产生间距效果 if (ringPadding...> 0) { drawPadding(&painter); } //绘制中间圆 drawCircle(&painter); //绘制当前值 drawValue...color = ringColor2; } else { color = ringColor3; } } //绘制当前值饼圆...setBrush(color); painter->drawPie(rect, (startAngle - angleCurrent) * 16, angleCurrent * 16); //绘制剩余值饼圆...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
drawText_JD(&painter); //绘制当前背景 drawCurrentBg_JD(&painter); //绘制当前文字...void NavProgress::drawBg_JD(QPainter *painter) { painter->save(); //圆半径为高度一定比例,计算宽度,将宽度等分...drawLine(QPoint(initX, initY), QPoint(initX + width, initY)); initX += width; } //逐个绘制圆...painter->drawEllipse(QPoint(initX, initY), radius, radius); initX += width; } //逐个绘制圆中的数字...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
height - painter.pen().width()); int circleRadius = width * 0.025; painter.rotate(-90); /* 绘制...(QPainter::Antialiasing, true); painter.setPen(Qt::NoPen); painter.setBrush(QBrush(color)); /* 画头部圆...painter.drawEllipse(0, 0, height, height); /* 画矩形 */ painter.drawRect(height/2, 0, width - height, height); /* 画尾部圆...QPointF(0, 0), QPointF(width, height * 0.25), QPointF(width, height * 0.75) }; /* 画梯形,从左下角顺时针绘制...currentTime.minute(); m_secondAngle = -90 + 6 * currentTime.second(); update(); } 三、透明窗口与拖动 在桌面状态下运行效果
一、前言 柱状温度计控件,可能是很多人练手控件之一,基本上都是垂直方向展示,底部一个水银柱,中间刻度尺,刻度尺可以在左侧右侧或者两侧都有,自适应分辨率改动,有时候为了美观效果,可能还会整个定时器来实现动画效果...//水银柱宽度 int barHeight; //水银柱高度 int radius; //水银柱底部圆半径...//目标X坐标 QRectF barRect; //柱状区域 QRectF circleRect; //底部圆区域...,包含水银柱底部圆 drawBarBg(&painter); //绘制当前水银柱,包含水银柱底部圆 drawBar(&painter); //绘制当前值 drawValue...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.12的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式
如果发现布局拖动乱了,可以直接鼠标右键选择恢复布局即可,在保存布局以前。 在中间地图模块鼠标右键可以弹出菜单,切换布局和配色方案等。...drawBg(&painter); //绘制进度 drawRing(&painter); //绘制间隔,重新绘制一个圆遮住,产生间距效果 if (ringPadding...> 0) { drawPadding(&painter); } //绘制中间圆 drawCircle(&painter); //绘制当前值 drawValue...color = ringColor2; } else { color = ringColor3; } } //绘制当前值饼圆...setBrush(color); painter->drawPie(rect, (startAngle - angleCurrent) * 16, angleCurrent * 16); //绘制剩余值饼圆
领取专属 10元无门槛券
手把手带您无忧上云