Цвет мыши Tkinter

Я сейчас работаю над проектом, и мне нужно получить черный курсор мыши, например:

введите здесь описание изображения

Я использовал root.config(cursor="arrow black black"), но он не хочет менять цвет курсора. Я использую Windows, и если это поможет, в Windows по умолчанию установлен черный курсор.

Может ли кто-нибудь помочь мне в этом?

Редактировать:

как изменить цвет указателя мыши tkinter? не работает для меня.

Я могу изменить внешний вид курсора, но не цвет.


person Person    schedule 17.03.2018    source источник
comment
Я также использовал root.config(cursor="arrow #000000"), и это не работает.   -  person Person    schedule 17.03.2018
comment
Какая платформа? Мои исследования показывают, что в OSX или Windows цвет нельзя настроить.   -  person Nae    schedule 17.03.2018
comment
windows 7 моя ОС   -  person Person    schedule 17.03.2018
comment
Как и другие визуальные эффекты в Tkinter, проклятие мыши, вероятно, наследует свою тему непосредственно из окон. Таким образом, он, вероятно, имеет функции, которые нельзя изменить. Я знаю, что вы можете написать собственные виджеты, такие как полоса прокрутки клиента, но я не уверен, что вы можете сделать то же самое для мыши.   -  person Mike - SMT    schedule 19.03.2018
comment
Возможный дубликат как изменить цвет указателя мыши tkinter?   -  person Mike - SMT    schedule 19.03.2018


Ответы (1)


В системах 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.cur и arrow_rl.cur соответственно.

person CommonSense    schedule 20.03.2018