Qt总结(七)-- 鼠标键盘事件&&右键菜单

当在一个窗口里按住鼠标按键、或移动、或释放就会产生鼠标事件QMouseEvent

#include <QMouseEvent>

//鼠标双击事件
void mouseDoubleClickEvent(QMouseEvent *event);

鼠标样式

Qt::CursorShape

在这里插入图片描述

QPixmap or QBitmap自定义

图标之家

QCursor cursor ;
QPixmap pixmap(“cursor.png”) ;
cursor = QCursor(pixmap,-1,-1);
setCursor(cursor) ;

x pixmap (xpm)
static const char *const cursor_xpm[] = {
    "15 15 3 1",
    "   c None",
    ".  c #0000aa",   //.的颜色
    "*  c #aa0000",   //*的颜色
    "     .....     ",
    "   ..*****..   ",
    "  .   ***   .  ",
    " .    ***    . ",
    " .    ***    . ",
    ".     ***     .",
    ".    *****    .",
    ".*************.",
    ".    *****    .",
    ".     ***     .",
    " .    ***    . ",
    " .    ***    . ",
    "  .   ***   .  ",
    "   ..*****..   ",
    "     .....     "
};
 
 
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QCursor myCursor(cursor_xpm);
    setCursor(myCursor);
}

在这里插入图片描述

键盘

头文件加入

protected:
    virtual void keyPressEvent(QKeyEvent *ev);
    virtual void keyReleaseEvent(QKeyEvent *ev);

cpp文件

void Camera::keyPressEvent(QKeyEvent *ev)
{
    if(ev->key() == Qt::Key_Space)
    {
        on_startBt_clicked();
    }
    QWidget::keyPressEvent(ev);
}

在构造函数中添加这个函数,使其具有捕获键盘事件的能力。注意此句添加之后,其它部件就接收不到
键盘事件了。

this->grabKeyboard();
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值