Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 显示方形光标_Qt_Hover_Cursor_Qwidget - Fatal编程技术网

Qt 显示方形光标

Qt 显示方形光标,qt,hover,cursor,qwidget,Qt,Hover,Cursor,Qwidget,在绘图应用程序中,如何在QT中为橡皮擦显示正方形而不是光标 换句话说,当我将鼠标悬停在QWidget上时,如何让一个边长为特定长度的正方形而不是光标?您必须创建一个QPixmap来绘制矩形,创建一个QCursor,然后将其设置为所需的小部件 #include <QApplication> #include <QGraphicsView> #include <QHBoxLayout> int main(int argc, char *argv[]) {

在绘图应用程序中,如何在QT中为橡皮擦显示正方形而不是光标


换句话说,当我将鼠标悬停在
QWidget
上时,如何让一个边长为特定长度的正方形而不是光标?

您必须创建一个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();
}
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QPixmap-pixmap(QSize(64,64));
pixmap.fill(Qt::透明);
QPainter painter(油漆工)和pixmap;
QRect r(QPoint(),pixmap.size());
r、 调整(1,1,-1,-1);
画家drawRect(r);
结束();
QCursor光标(pixmap);
qw;
QHBox布局布局布局布局(w&w);
QGraphicsView视图1;
视图1.设置光标(光标);
QGraphicsView视图2;
lay.addWidget(&view1);
lay.addWidget(&view2);
w、 show();
返回a.exec();
}

将正方形改为圆形容易吗?你能帮我吗?@oobarbazanoo
painter.drawRect(r)
-->
painter.drawripse(r)
噢!多谢各位。你救了我一天。(x@oobarbazanoo不仅要使用解决方案,还要理解它,而且下次你想要一个三角形,你会再次寻求帮助,所以对于无限的数字,而我是有限的,我永远不会帮助你。:)