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

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-28
  • 語言: 其他
  • 標(biāo)簽: qt??

資源簡介

使用qtcreator 繪制類似跑馬燈的效果 換行圈,可以設(shè)置每個(gè)小車的顏色

資源截圖

代碼片段和文件信息

#include?“carwidget.h“
#include?
#include?
#include?


CarWidget::CarWidget(QWidget?*parent)?:?QWidget(parent)
{
????m_iCar?=?76;
????m_iCarWidth?=?0;
????m_index?=?0;
????m_type?=?Left;
????m_bgColor?=?QColor(686868);
????m_carColor?=?QColor(20190150);
????m_textColor?=?QColor(255255255);
????m_iSize?=?10;
}

CarWidget::~CarWidget()
{

}

void?CarWidget::paintEvent(QPaintEvent?*p)
{
????QPainter?painter(this);

????//繪制背景色
????painter.setBrush(m_bgColor);
????painter.setPen(m_bgColor);
????painter.drawRect(rect());

????paintCar(painter);

????return?QWidget::paintEvent(p);
}

void?CarWidget::resizeEvent(QResizeEvent?*)
{
????calc();
????update();
}


void?CarWidget::calc()
{
????QRect?rect?=?this->geometry();

????//圓的直徑
????int?iDiameter?=?rect.width()?
????//上下留5個(gè)像素
????m_iDiameter?=?iDiameter?-?10;

????m_iLeft?=?m_iDiameter?*?3?/?100?>?0???m_iDiameter?*?3?/?100?:?3;
????m_iRight?=?width()?-?m_iDiameter?+?m_iLeft;

????int?iLength?=?3.14?*?m_iDiameter?+?2?*?(?width()?-?m_iDiameter?);

????//平均的距離
????m_iCarWidth?=?iLength?/?(?m_iCar?*?1.5?);
}

void?CarWidget::paintCar(QPainter?&painter)
{
????//Y的高度
????int?iHeight?=?(height()?-?m_iDiameter)?/?2?+?m_iCarWidth;

????painter.setRenderHint(QPainter::Antialiasing?true);
????painter.setPen(m_carColor);

????QPainterPath?path;
????path.addEllipse(m_iCarWidth??iHeight??m_iDiameter?-?m_iCarWidth?*?2?m_iDiameter?-?m_iCarWidth?*?2);
????QPainterPath?pathRect;
????pathRect.addRect(m_iDiameter?/?2??+?m_iCarWidth
?????????????????????iHeight?
?????????????????????width()?-?m_iDiameter?-?m_iCarWidth?*?2
?????????????????????m_iDiameter?-?m_iCarWidth?*?2);

????path?=?path.united(pathRect);
????pathRect.addEllipse(width()?-?m_iDiameter?+?m_iCarWidth??
????????????????????????iHeight?
????????????????????????m_iDiameter?-?m_iCarWidth?*?2
????????????????????????m_iDiameter?-?m_iCarWidth?*?2);
????path?=?path.united(pathRect);
????//painter.drawPath(path);
????QFont?font;
????font.setPointSize(m_iSize);
????painter.setFont(font);


????if(m_type?==?Right)
????{
????????if(m_index?>=?m_iCar)
????????{
????????????m_index?=?0;
????????}
????}
????else?if(m_type?==?Left)
????{
????????if(m_index?<=?-m_iCar)
????????{
????????????m_index?=?0;
????????}
????}

????for(int?i?=?0?;?i?????{
????????QPointF?point?=?path.pointAtPercent(i?/?(m_iCar?*?1.0));
????????int?index?=?m_type?==?Right???(i??+?m_index)?%?m_iCar?+?1?:?(i??+?m_iCar?+?m_index)?%?m_iCar?+?1;

????????painter.setPen(m_textColor);
????????painter.drawText(point??QString(“%1“).arg(index));
????????mapColorCar::iterator?iter?=?m_mapCar.find(index);
????????if(?iter?!=?m_mapCar.end())
????????{
????????????painter.setPen(iter.value());
????????????painter.setBrush(iter.value());
????????}
????????else
????????{
????????????pain

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3739??2018-08-13?14:41??跑馬燈\carwidget.cpp

?????文件???????3306??2018-08-13?14:41??跑馬燈\carwidget.h

?????目錄??????????0??2018-08-13?15:07??跑馬燈

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

?????????????????7045????????????????????3


評論

共有 條評論