protected override void PaintEvent(QPaintEvent e) { QColor hourColor = new QColor(127, 0, 127); QColor minuteColor = new QColor(0, 127, 127, 191); int side = QMin(Width(), Height()); QTime time = QTime.CurrentTime(); QPainter painter = new QPainter(this); painter.SetRenderHint(QPainter.RenderHint.Antialiasing); painter.Translate(Width() / 2, Height() / 2); painter.Scale(side / 200.0, side / 200.0); painter.SetPen(Qt.PenStyle.NoPen); painter.SetBrush(hourColor); painter.Save(); painter.Rotate(30.0 * ((time.Hour() + time.Minute() / 60.0))); painter.DrawConvexPolygon(new QPolygon(hourHand)); painter.Restore(); painter.SetPen(hourColor); for (int i = 0; i < 12; ++i) { painter.DrawLine(88, 0, 96, 0); painter.Rotate(30.0); } painter.SetPen(Qt.PenStyle.NoPen); painter.SetBrush(minuteColor); painter.Save(); painter.Rotate(6.0 * (time.Minute() + time.Second() / 60.0)); painter.DrawConvexPolygon(new QPolygon(minuteHand)); painter.Restore(); painter.SetPen(minuteColor); for (int j = 0; j < 60; ++j) { if ((j % 5) != 0) painter.DrawLine(92, 0, 96, 0); painter.Rotate(6.0); } painter.End(); }
private void paintCannon(QPainter painter) { painter.SetPen(Qt.PenStyle.NoPen); painter.SetBrush(new QBrush(Qt.GlobalColor.blue)); painter.Save(); painter.Translate(0, Height()); painter.DrawPie(new QRect(-35, -35, 70, 70), 0, 90 * 16); painter.Rotate(-currentAngle); painter.DrawRect(barrelRect); painter.Restore(); }
protected override void PaintEvent(QPaintEvent ev) { using (QPainter painter = new QPainter(this)) { painter.SetPen(Qt.PenStyle.NoPen); painter.SetBrush(new QBrush(new QColor(0,0,255))); painter.Translate(0, Rect.Height()); painter.DrawPie(new QRect(-35, -35, 70, 70), 0, 90 * 16); painter.Rotate(-currentAngle); painter.DrawRect(30, -5, 20, 10); painter.End(); // this should not be needed } }
public override void Paint(Qyoto.QPainter painter, Qyoto.QStyleOptionGraphicsItem option, Qyoto.QWidget widget) { painter.SetOpacity(m_Opacity); var color = m_Grid.Palette.Color(QPalette.ColorRole.Text); // Group Name painter.SetFont(m_Font); painter.SetPen(new QPen(color)); string text = null; if (m_Grid.ShowGroupCounts) { text = String.Format("{0} ({1}/{2})", m_GroupName, m_Grid.Model.NumOnlineItemsInGroup(m_GroupName), m_Grid.Model.NumItemsInGroup(m_GroupName)); } else { text = m_GroupName; } painter.DrawText(BoundingRect(), text); int arrowX = m_Grid.IconPadding + m_Metrics.Width(text) + 4; int arrowY = 5; // Group expander arrow painter.Save(); painter.Translate(arrowX, arrowY); QPainterPath path = new QPainterPath(); if (IsExpanded) { path.MoveTo(0, 0); path.LineTo(4, 0); path.LineTo(2, 2); path.LineTo(0, 0); } else { path.MoveTo(2, 0); path.LineTo(2, 4); path.LineTo(0, 2); path.LineTo(2, 0); } painter.SetPen(new QPen(color)); painter.SetBrush(new QBrush(color)); painter.DrawPath(path); painter.Restore(); m_ArrowRect = new QRectF(arrowX, 0, 4, m_Grid.HeaderHeight); if (ItemOver) { painter.SetPen(new QPen(new QColor("red"))); painter.DrawRect(BoundingRect()); } }
public override void Paint(QPainter painter, QStyleOptionGraphicsItem option, QWidget widget) { painter.SetBrush(Qt.GlobalColor.gray); painter.DrawRect(-20, -58, 40, 2); // front axel painter.DrawRect(-20, 7, 40, 2); // rear axel painter.SetBrush(color); painter.DrawRect(-25, -79, 50, 10); // front wing painter.DrawEllipse(-25, -48, 50, 20); // side pods painter.DrawRect(-25, -38, 50, 35); // side pods painter.DrawRect(-5, 9, 10, 10); // back pod painter.DrawEllipse(-10, -81, 20, 100); // main body painter.DrawRect(-17, 19, 34, 15); // rear wing painter.SetBrush(Qt.GlobalColor.black); painter.DrawPie(-5, -51, 10, 15, 0, 180 * 16); painter.DrawRect(-5, -44, 10, 10); // cocpit painter.Save(); painter.Translate(-20, -58); painter.Rotate(wheelsAngle); painter.DrawRect(-10, -7, 10, 15); // front left painter.Restore(); painter.Save(); painter.Translate(20, -58); painter.Rotate(wheelsAngle); painter.DrawRect(0, -7, 10, 15); // front left painter.Restore(); painter.DrawRect(-30, 0, 12, 17); // rear left painter.DrawRect(19, 0, 12, 17); // rear right }