91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.91KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-04-22
  • 語言: C/C++
  • 標簽: 儀表盤??

資源簡介

漂亮的儀表盤(widget.cpp)

資源截圖

代碼片段和文件信息

#include?“widget.h“
#include?
#include?


Widget::Widget(QWidget?*parent)
????:?QWidget(parent)
{
????index?=?0;
????timer?=?new?QTimer(this);
????connect(timer?SIGNAL(timeout())?this?SLOT(timerout()));
????timer->start(20);

//????slider?=?new?QSlider(this);
//????slider->setGeometry(101040020);
//????slider->setOrientation(Qt::Horizontal);??//?水平方向
//????slider->setMinimum(0);??//?最小值
//????slider->setMaximum(150);??//?最大值
//????slider->setSingleStep(1);??//?步長

//????connect(sliderSIGNAL(valueChanged(int))thisSLOT(sliderslot(int)));

}

Widget::~Widget()
{

}

void?Widget::sliderslot(int?val)
{
????index?=?val;
????//++index;
????if(index>140)
????????index=0;
????update();
}

void?Widget::timerout()
{
????++index;
????if(index>140)
????????index=0;
????update();
}

QRectF?Widget::textRectF(double?radius?int?pointSize?double?angle)
{
????QRectF?rectF;
????rectF.setX(radius*qCos(angle*M_PI/180.0)?-?pointSize*2);
????rectF.setY(radius*qSin(angle*M_PI/180.0)?-?pointSize/2.0);
????rectF.setWidth(pointSize*4);
????rectF.setHeight(pointSize);
????return?rectF;
}

void?Widget::paintEvent(QPaintEvent?*?event)
{
????Q_UNUSED(event);
????QFont?font(“Arial?Rounded?MT?Bold“);

????//?指針形狀?-?多邊形
????static?const?QPoint?secondHand[4]?=?{
????????QPoint(7?-12)//Y值控制指針在圓環的位置
????????QPoint(-7?-12)
????????QPoint(-1?-95)
????????QPoint(1?-95)
????};

????//?指針及其他位置顏色
????QColor?backgroundColor(94?94?94?255);//圓盤背景顏色
????QColor?redHandleColor(255?0?0);//指針顏色
????QColor?secondColor(0?0?0?150);//10步長的刻度顏色?黑
????QColor?minuteColor(255?255?255?150);//小格的刻度顏色
????QColor?halfColor(255?255?255?150);//半格的刻度顏色?白

????int?side?=?qMin(width()?height());
????QPainter?painter(this);
????painter.setRenderHint(QPainter::Antialiasing);
????//?平移坐標系原點至中心點
????painter.translate(width()?/?2?height()?/?2);
????//?縮放?//控制刻度的半徑
????painter.scale(side?/?300.0?side?/?300.0);

????//繪制背景黑色圓盤?backgroundColor
????QPen?bgpen;
????bgpen.setColor(backgroundColor);
????bgpen.setWidth(120);
????painter.setPen(bgpen);
????painter.drawArc(-40-40808005760);

????//?繪制指針
????painter.setPen(Qt::NoPen);
????painter.setBrush(redHandleColor);
????painter.save();
????//一共270度,分150格,每一格1.8度
????painter.rotate(234+index*1.8);//180+(30*1.8)
????painter.drawConvexPolygon(secondHand?4);
????painter.restore();

????//中心畫一個紅色圓環
????QPen?pen;
????pen.setColor(QColor(25500));
????pen.setWidth(10);
????painter.setPen(pen);
????painter.drawArc(-10-10202005760);

????painter.setPen(secondColor);
????//?繪制刻度線?(270度?/?15?=?18度)每大格間距18度
????for?(int?i?=?0;?i?????????if(i>=3?&&?i<=7){
????????}else{
????????????painter.drawLine(88?0?96?0);
????????}
????????painter.rotate(18);//按給定角度進行順時針旋轉
????}
????//設置字體大小
????int?radius?=?95;//數字顯示半徑值
????//QFont?font?=?painter.font();
????font.setBold(true);
????painter.setFont(font);

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4851??2018-08-05?16:48??widget.cpp

-----------?---------??----------?-----??----

?????????????????4851????????????????????1


評論

共有 條評論