核型分析软件需要做一个染色体编辑界面,修改鼠标的形状。

设置光标图像

在Qt的GraphicsView中设置自定义的光标很简单.

使用图片的方式

  1. 使用要作为光标使用的图片创建一个QPixmap的对象
  2. 利用这个QPixmap创建一个QCursor
  3. 使用QGraphicsView::setCursor()来设置光标

最重要的一点是, 在创建Cursor的时候, 可以指定鼠标尖的位置, 不然鼠标光标行为会很怪异.

1
2
3
4
5
6
view->setDragMode(QGraphicsView::DragMode::NoDrag);
QPixmap stick_map = QPixmap(":/resources/images/Icon-cursor/curson-brush.png")
.scaled(20,20, Qt::KeepAspectRatio, Qt::SmoothTransformation);
// 钢笔相撞, 热点为坐下教的笔尖位置. 向内收缩两个像素值.
QCursor cursor(stick_map, 2, 18);
view->setCursor(cursor);