Курсор опции Tkinter в классе меню
Я пытаюсь отобразить другой курсор, когда мышь появляется на элементах меню, я подумал, что для этого нужно добавить cursor='something'
опция в опциях при создании меню
try:
import tkinter as tk
except ImportError:
import Tkinter as tk
class Settings:
def __init__(self, master):
# Elements of the menu
self.master=master
self.menu = tk.Menu(root, fg="red")
self.subMenu = tk.Menu(self.menu, cursor="hand1")
def openMenu(self):
# Configuration of the menu
self.menu.add_cascade(label="Options", menu=self.subMenu)
self.addOptionsSubMenu()
self.master.config(menu=self.menu)
def addOptionsSubMenu(self):
# Add elements at the sub menu
self.subMenu.add_command(label="Quit", command=self.quit)
self.subMenu.add_command(label="Do nothing", command=self.passa)
# Quit the function
def quit(self):
exit()
# Do nothing
def passa(self):
pass
root = tk.Tk()
app = Settings(root)
app.openMenu()
root.mainloop()
Но так как курсор не меняется, как мне это сделать?
1 ответ
Документы для Ткинтер Menu
заявить, что опция курсора означает " The cursor that appears when the mouse is over the choices, but only when the menu has been torn off
"Итак, я не думаю, что вы на самом деле можете делать то, что вы хотите. Только когда ваше подменю было отсоединено (оторвано), вы можете увидеть изменение курсора. Вот демоверсия.
import tkinter as tk
class Settings:
def __init__(self, master):
# Elements of the menu
self.master=master
self.menu = tk.Menu(root, fg="red")
self.subMenu = tk.Menu(self.menu, cursor="plus")
def openMenu(self):
# Configuration of the menu
self.menu.add_cascade(label="Options", menu=self.subMenu)
self.addOptionsSubMenu()
self.master.config(menu=self.menu)
def addOptionsSubMenu(self):
# Add elements at the sub menu
self.subMenu.add_command(label="Quit", command=self.quit)
self.subMenu.add_command(label="Do nothing", command=self.passa)
# Quit the function
def quit(self):
exit()
# Do nothing
def passa(self):
pass
root = tk.Tk()
app = Settings(root)
app.openMenu()
root.mainloop()