找回密码
 立即注册
收起左侧

求助,QT如何键盘方向键控制item(mouse)的移动

0
回复
8692
查看
[复制链接]
累计签到:1 天
连续签到:1 天
来源: 2016-7-16 13:10:27 显示全部楼层 |阅读模式
10Qter豆
最简单的即可
我想知道item如何和代码联系 谢谢
#include "mouse.h"#include <QGraphicsScene>#include <QPainter>#include <QStyleOption>#include <math.h>#include <QKeyEvent>Mouse::Mouse(){}void Mouse::paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *)//对老鼠进行绘制{    // Body    painter->setBrush(color);    painter->drawEllipse(-10, -20, 20, 40);
    // Eyes    painter->setBrush(Qt::white);    painter->drawEllipse(-10, -17, 8, 8);    painter->drawEllipse(2, -17, 8, 8);
    // Nose    painter->setBrush(Qt::black);    painter->drawEllipse(QRectF(-2, -22, 4, 4));
    // Pupils    painter->drawEllipse(QRectF(-8.0 + mouseEyeDirection, -17, 4, 4));    painter->drawEllipse(QRectF(4.0 + mouseEyeDirection, -17, 4, 4));
    // Ears    painter->setBrush(scene()->collidingItems(this).isEmpty() ? Qt::darkYellow : Qt::red);    painter->drawEllipse(-17, -12, 16, 16);    painter->drawEllipse(1, -12, 16, 16);
    // Tail    QPainterPath path(QPointF(0, 20));    path.cubicTo(-5, 22, -5, 22, 0, 25);    path.cubicTo(5, 27, 5, 32, 0, 30);    path.cubicTo(-5, 32, -5, 42, 0, 35);    painter->setBrush(Qt::NoBrush);    painter->drawPath(path);}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了