[英]How to change the cursor in Qt C++
如何将光标更改为本地计算机中的图像? 我已经按照本教程进行代码参考: http : //www.newthinktank.com/2018/07/qt-tutorial-5-paint-app/
在你的 .qrc 文件中试试这个:
<RCC>
<qresource prefix="/">
<file>cursors/my_cursor.png</file>
</qresource>
</RCC>
然后这样编程:
QPixmap p = QPixmap(":my_cursor");
QCursor c = QCursor(p, 0, 0);
setCursor(c);
我认为您应该使用类QCursor ,一旦鼠标位于图像内,您就可以使用函数 setShape() 修改其形状。
就像文档说的:
要将光标与小部件关联,请使用 QWidget::setCursor()。 要将光标与所有小部件关联(通常在短时间内),请使用 QGuiApplication::setOverrideCursor()。
要设置光标形状,请使用 QCursor::setShape() 或使用将形状作为参数的 QCursor 构造函数,或者您可以使用 Qt::CursorShape 枚举中定义的预定义光标之一。
您可以在稳定的基础上临时更改光标。
稳定方式意味着,光标只是按原样设置。 使用QWidget::setCursor()
。 请注意,应用它的对象必须是 QWidget。
临时方式覆盖永久游标。 当你做QGuiApplication::setOverrideCursor(QCursor(/* your cursor here */));
您将此光标添加到堆栈的顶部。 如果放置了多个光标,在弹出它们时,我们会以相反的顺序获取它们。 为了弹出一个游标,我们这样做: QGuiApplication::restoreOverrideCursor();
只是一次更改或来回摆动并不重要,但是如果光标有可能堆积,这将很重要。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.