【问题标题】:C++ - change the cursor in an X WindowC++ - 在 X 窗口中更改光标
【发布时间】:2011-04-04 18:25:12
【问题描述】:

我认为这很容易找到,但谷歌搜索一直没有帮助。是否有一个简单的 api 来更改 X 窗口中的鼠标光标? (我知道在 Windows 中你可以调用“SetCursor”)

【问题讨论】:

  • 你看过man Xcursor吗?
  • 我开始阅读它,但仍然很难获得好的信息。我想做的只是“SetCursor(hand)”和“SetCursor(arrow)”之类的东西。是否有关于如何在某处执行此操作的示例?
  • 我不会直接触摸 X。为什么不是 Qt、WX、Gtk 之类的?

标签: c++ linux x11 mouse-cursor


【解决方案1】:

看起来相当于 SetCursor 调用的是 XDefineCursor。您可以通过调用XCreateFontCursor 并传入来自X11/cursorfont.h 的形状之一来获得Cursor id。

【讨论】:

【解决方案2】:
#include <X11/cursorfont.h>

/* ... */

Cursor c;

c = XCreateFontCursor(dpy, XC_xterm); 
XDefineCursor(dpy, w, c);

其中 dpy 是您的显示器,w 是您的窗口,XC_xterm 是定义光标形状的常量。这是a list of available cursor shape,还有图片。

【讨论】:

  • 但是这些常量只会让你从“光标”字体中得到丑陋的图标。您如何获得带有阴影和所有内容的 WM 默认图标?
猜你喜欢
  • 1970-01-01
  • 2013-12-11
  • 2021-05-05
  • 1970-01-01
  • 2013-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多