简介
记录一下前两天接到一个需求如何QGraphicsView上添加一个悬浮按钮,类似于高德地图,如下图
在网上搜了一圈,有说使用QGraphicsPixmapItem可以,也有说在QGraphicsScene上调用addwidget可以。经一一尝试都不行。
再来分析一下需求,悬浮按钮,不能随着画布的放大(缩小)而放大(缩小),不能随着画布的移动而移动,那么在QGraphicsScene上的任何操作肯定就是不行了。
于是就简单粗暴的new了一个QPushButton,将父对象设置为QGraphicsView,使用move移动位置,奇迹般的就可以了。
代码如下:
QPushButton *btn = new QPushButton(ui->graphicsView);
btn->resize(60,35);
btn->setStyleSheet("border-image:url(:/pic/anniu.png);");
QPoint pos = ui->graphicsView->pos();
pos = QPoint(pos.x()+this->width()-120,pos.y()+10);
btn->move(pos);
鸡肋版效果: