Tkinter 鼠标颜色

3

我现在正在开发一个项目,需要获取一个黑色的鼠标光标,就像这样:

enter image description here

我已经使用了root.config(cursor="arrow black black"),但它不想改变光标的颜色。我正在使用Windows,如果有帮助的话,Windows默认安装了黑色光标。

有人能帮我吗?

编辑:

如何更改Tkinter中鼠标指针的颜色?对我无效。

我可以改变光标的外观,但不能改变颜色。


我也尝试使用 root.config(cursor="arrow #000000"),但它没有起作用。 - Person
1
什么平台?我的研究表明,在OSX或Windows上,颜色可能无法配置。 - Nae
1
Windows 7 是我的操作系统。 - Person
1
就像Tkinter中的其他可视化元素一样,鼠标光标可能直接从Windows继承其主题。因此,它可能具有无法更改的功能。我知道您可以编写自定义小部件,例如自定义滚动条,但我不确定是否可以对鼠标执行相同操作。 - Mike - SMT
可能是如何更改Tkinter鼠标指针颜色?的重复问题。 - Mike - SMT
1个回答

3
在Windows系统中,arrow指针被映射到本地的IDC_ARROW指针,你无法在tkinter中控制其颜色。当然,Windows确实有一个黑色鼠标指针,但是指针的外观取决于当前的颜色方案(控制面板-鼠标-指针),因此除非您更改了方案,否则您看不到它。应用程序不应该触及它,因为它严格是用户的偏好设置。
然而,黑色指针文件位于%windir%\Cursors\arrow_r.cur,因此我们可以在需要时直接使用它。
import tkinter as tk
import os

root = tk.Tk()
path = '@%s' % os.path.join(os.environ['WINDIR'], 'Cursors/arrow_r.cur').replace('\\', '/')

root.configure(cursor=path)
root.mainloop()

值得注意的是,黑色指针有中等和大型两种变体,分别是arrow_rm.curarrow_rl.cur

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接