如何在绘图应用中为橡皮擦在QT中显示正方形而不是光标?
换句话说,当我将鼠标悬停在QWidget
上时,如何才能有一个特定长度的方格而不是光标?
答案 0 :(得分:1)
您必须创建一个QPixmap来绘制创建QCursor的矩形,然后将其设置为您想要的小部件。
#include <QApplication>
#include <QGraphicsView>
#include <QHBoxLayout>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QPixmap pixmap(QSize(64, 64));
pixmap.fill(Qt::transparent);
QPainter painter(&pixmap);
QRect r(QPoint(), pixmap.size());
r.adjust(1, 1, -1, -1);
painter.drawRect(r);
painter.end();
QCursor cursor(pixmap);
QWidget w;
QHBoxLayout lay(&w);
QGraphicsView view1;
view1.setCursor(cursor);
QGraphicsView view2;
lay.addWidget(&view1);
lay.addWidget(&view2);
w.show();
return a.exec();
}