在 Qt 中设置鼠标光标图标,可以使用 QCursor
类以及 setCursor()
函数。下面是一个示例,展示如何在窗口中更改鼠标光标的图标。
示例代码
#include <QApplication>
#include <QWidget>
#include <QCursor>
#include <QMouseEvent>
class MyWidget : public QWidget {
public:
MyWidget() {
setFixedSize(400, 300); // 设置窗口大小
setCursor(QCursor(Qt::PointingHandCursor)); // 设置初始光标为手指形状
}
protected:
void enterEvent(QEvent *event) override {
// 当鼠标进入窗口时,将光标设置为十字箭头
setCursor(QCursor(Qt::CrossCursor));
QWidget::enterEvent(event);
}
void leaveEvent(QEvent *event) override {
// 当鼠标离开窗口时,恢复默认光标
unsetCursor();
QWidget::leaveEvent(event);
}
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
MyWidget w;
w.show();
return app.exec();
}
说明
MyWidget
类: 创建了一个自定义的窗口类,继承自QWidget
。- 构造函数: 在构造函数中,使用
setCursor()
方法将初始光标设置为手指形状 (Qt::PointingHandCursor
)。 enterEvent()
函数: 当鼠标进入窗口时,将光标更改为十字箭头 (Qt::CrossCursor
)。leaveEvent()
函数: 当鼠标离开窗口时,调用unsetCursor()
恢复默认光标。
编译和运行
你可以将上述代码放入一个新的 Qt 项目中,然后编译并运行。在应用程序窗口中移动鼠标会看到不同的光标样式。
希望这个例子能帮到你!如果有其他问题,请随时询问。
内容由零声教学AI助手提供,问题来源于学员提问