想要更多项目私wo!!!
一、项目简介
幸运大转盘的制作其实很简单,幸运大转盘的整体思想是这样:
1.定时器用来刷新大转盘的界面这样就有动态的旋转效果,
2.监听键盘事件,通过键盘控制大转盘的开关,然后判断当前的状态是已经开始还是停止,如果状态是停止那么就启动定时器,如果状态是开始就关闭定时器,
3. 绘制界面内容。
使用:
运行程序按确认键开始、停止。
二、项目截图
![](https://i-blog.csdnimg.cn/blog_migrate/58320bee4b787ff39d83f55f7222040c.gif)
三、部分代码
定时器部分:
QTimer:定时器类主要作用是按照固定间隔时间发送定时器信号,我们通过监听定时信号处理信号内容,修改指针角度,刷新界面内容就可以了。
start() // 启动定时器,设置启动以后会按照固定时间发送信号
stop() // 关闭定时器,关闭之后不再发送定时信号。
setInterval(int) // 设置定时时长,按照毫秒 1秒=1000毫秒
按键部分:
if(event->key() == Qt::Key_Return)
{
if(m_status)
{
m_status = false;
m_fTimer->stop();
}
else
{
m_status = true;
m_fTimer->start();
}
}
图片绘画部分:
QImage img("E://Qt_test//Turntable//Image//bj.jpg");
painter->drawImage(0,0,img);
旋转部分:
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
QPixmap disc("E://Qt_test//Turntable//Image//zz.png");
/* 设定旋转中心点 */
painter.translate(130,150);
/* 旋转的角度 */
painter.rotate(45);
/* 恢复中心点 */
painter.translate(-130,-150);
/* 画图操作 */
painter.drawPixmap(40,60,180,180, disc);
}