Ниже приведен небольшой скрипт на python3 из веб-учебника, демонстрирующий, как создавать раскрывающиеся меню с помощью Tkinter.
Копируется напрямую из https://www.tutorialspoint.com/python3/tk_menu.htm без изменений!
- Работает нормально, когда я запускаю его на Raspberry Pi (с использованием 3 разных IDE)
НО, когда я запускаю его на своем Mac (в 2 разных IDE), он просто создает белое окно и не помещает в него никаких элементов меню.
ОБРАТИТЕ ВНИМАНИЕ, что этот Mac может запускать другие простые скрипты Tkinter, которые я создавал, пытаясь изучить Tkinter ... делая кнопки, всплывающие окна, без проблем.
Новое редактирование: когда я прихожу к максу, на котором происходит сбой, и я делаю:
>>> import tkinter
>>> tkinter._test()
... тест отлично работает с его небольшимкнопки и т. д., и я получаю маленькое окошко, сообщающее мне, что это v8.5.
Что это за сценарий, который делает удушение mac (а другой компьютер - нет)?Огромное спасибо!
Вот скрипт tkinter, который не работает на macs:
# !/usr/bin/python3
from tkinter import *
def donothing():
filewin = Toplevel(root)
button = Button(filewin, text="Do nothing button")
button.pack()
root = Tk()
menubar = Menu(root)
filemenu = Menu(menubar, tearoff = 0)
filemenu.add_command(label="New", command = donothing)
filemenu.add_command(label = "Open", command = donothing)
filemenu.add_command(label = "Save", command = donothing)
filemenu.add_command(label = "Save as...", command = donothing)
filemenu.add_command(label = "Close", command = donothing)
filemenu.add_separator()
filemenu.add_command(label = "Exit", command = root.quit)
menubar.add_cascade(label = "File", menu = filemenu)
editmenu = Menu(menubar, tearoff=0)
editmenu.add_command(label = "Undo", command = donothing)
editmenu.add_separator()
editmenu.add_command(label = "Cut", command = donothing)
editmenu.add_command(label = "Copy", command = donothing)
editmenu.add_command(label = "Paste", command = donothing)
editmenu.add_command(label = "Delete", command = donothing)
editmenu.add_command(label = "Select All", command = donothing)
menubar.add_cascade(label = "Edit", menu = editmenu)
helpmenu = Menu(menubar, tearoff=0)
helpmenu.add_command(label = "Help Index", command = donothing)
helpmenu.add_command(label = "About...", command = donothing)
menubar.add_cascade(label = "Help", menu = helpmenu)
root.config(menu = menubar)
root.mainloop()