• Qt 应用程序中自定义鼠标光标


    在 Qt 应用程序中,你可以自定义鼠标光标。你可以使用 `QCursor` 类来设置不同类型的鼠标光标,比如内置样式或者自定义的图片。以下是一些使用示例:

    使用内置光标样式

    Qt 提供了一些内置的光标样式,你可以使用这些样式来改变光标的外观,例如箭头、手形、等待图标等等。

    复制代码
     1 #include 
     2 #include 
     3 #include 
     4 
     5 int main(int argc, char *argv[])
     6 {
     7 QApplication a(argc, argv);
     8 QWidget w;
     9 
    10 // 设置为等待光标
    11 w.setCursor(Qt::WaitCursor);
    12 
    13 w.show();
    14 return a.exec();
    15 }
    复制代码

     

    使用自定义图片作为光标

    如果你有一张自定义图片想要用作鼠标光标,你可以使用 `QCursor` 和 `QPixmap` 来完成。

    首先,确保你的图片资源已经包含在 Qt 资源文件(.qrc)中。如果没有,你可以在 Qt Creator 中添加资源文件并将图片包含在其中。

    资源文件展示:

    1 <RCC>
    2 <qresource prefix="/">
    3 <file>my_cursor.pngfile>
    4 qresource>
    5 RCC>

     

    然后在你的代码中加载这个图片资源:

     

    复制代码
     1 #include 
     2 #include 
     3 #include 
     4 #include 
     5 
     6 int main(int argc, char *argv[])
     7 {
     8 QApplication a(argc, argv);
     9 QWidget w;
    10 
    11 // 使用资源文件中的图片作为光标
    12 QPixmap pixmap(":/my_cursor.png"); // 确保路径正确
    13 QCursor cursor(pixmap);
    14 w.setCursor(cursor);
    15 
    16 w.show();
    17 return a.exec();
    18 }
    复制代码

     

    在特定的控件中使用光标

    如果你只想在某个特定的控件上使用自定义光标而不是整个窗口,可以直接设置该控件的光标:

    复制代码
     1 #include 
     2 #include 
     3 #include 
     4 #include 
     5 
     6 int main(int argc, char *argv[])
     7 {
     8 QApplication a(argc, argv);
     9 
    10 QPushButton button("Click me");
    11 QPixmap pixmap(":/my_cursor.png"); // 确保路径正确
    12 QCursor cursor(pixmap);
    13 button.setCursor(cursor);
    14 
    15 button.show();
    16 return a.exec();
    17 }
    复制代码

     

    通过以上方法,你可以在 Qt 应用中灵活地设置和使用自定义的鼠标光标。牢记确保资源文件和图片路径正确,且图片格式被 Qt 支持。

     
     
  • 相关阅读:
    离线安装Redis集群(redis-6.2.4)
    太神了!开源大佬的SpringBoot+微服务架构笔记,一般人真肝不出来
    LeetCode 0241.为运算表达式设计优先级 - DFS
    Java工具类-Jdbc工具类
    阿里云 压缩包 无法分享 解决方案
    Arduino开发实例-DIY风速测量及显示
    Bootstrap快捷开发【前端Bootstrap框架】
    OpenGL之图形流水线中的光照计算、明暗处理
    i.MX8MP开发板移植驱动,其实可以很简单
    nginx配置server
  • 原文地址:https://www.cnblogs.com/bzbk/p/18254119