Qt 项目实战:幸运转盘


幸运电子转盘

  • 基础绘图
  • 通过paintEvent来绘图
  • 鼠标事件:鼠标左键单击开始旋转
  • Timer:定时器
  • 信号与槽
1 #ifndef WIDGET_H 2 #define WIDGET_H 3 4 #include <QWidget> 5 #include <QEvent> 6 #include <QDebug> 7 #include <QTimer> 8 #include <QTime> 9 #include <QMouseEvent> 10 #include <QPainter> 11 12 QT_BEGIN_NAMESPACE 13 namespace Ui 14 QT_END_NAMESPACE 15 16 class Widget : public QWidget 17 ; 51 #endif // WIDGET_H
1 #include "widget.h" 2 #include "ui_widget.h" 3 4 Widget::Widget(QWidget *parent) 5 : QWidget(parent) 6 , ui(new Ui::Widget) 7 ,rtAngle(0.0) 8 16 17 Widget::~Widget() 18 21 22 void Widget::paintEvent(QPaintEvent *event) 23 ; 41 // 设置画笔 42 pointPainter.setBrush(QColor(Qt::darkBlue)); 43 // 添加反锯齿(走样) 设置抗锯齿需要再绘图之前添加 44 pointPainter.setRenderHints(QPainter::Antialiasing); 45 // 描点画出多边形 46 pointPainter.drawPolygon(point, 4); 47 48 // 多边形 49 QRect recatanle(7,7,14,18); 50 pointPainter.setBrush(QColor(Qt::yellow)); 51 pointPainter.drawEllipse(recatanle); 52 pointPainter.end(); 53 } 54 55 void Widget::rtTimerOutSlot() 56 else if((rtAngle randNumber) == 180) 64 65 68 else if((rtAngle randNumber) == 270) 69 72 else if((rtAngle randNumber) == 360) 73 76 update(); // 更新视图 77 } 78 79 void Widget::luckStartSlot() 80 86 87 void Widget::mousePressEvent(QMouseEvent *event) 88 96 } 97 98 }



上一篇:Qt 格式化代码快捷键

下一篇:常用的MODBUS协议测试工具推荐


Qt
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图