Cambiar el título de la aplicación Tkinter en la barra de menú de OS X

Cuando creas una aplicación con una GUI usando Tkinter en Python, el nombre de tu aplicación aparece como “Python” en la barra de menú en OS X. ¿Cómo puedes hacer que aparezca como otra cosa?

Mi respuesta se basa en uno enterrado en medio de algunos foros . Fue un poco difícil encontrar esa solución, pero me gustó porque le permite distribuir su aplicación como un único script multiplataforma. No hay necesidad de ejecutarlo a través de py2app o algo similar, lo que te dejaría con un paquete específico de OS X.

De todos modos, estoy compartiendo mi versión limpia aquí para darle un poco más de atención de lo que estaba llegando. Deberá instalar pyobjc través de pip para obtener el módulo de Foundation utilizado en el código.

 from sys import platform # Check if we're on OS X, first. if platform == 'darwin': from Foundation import NSBundle bundle = NSBundle.mainBundle() if bundle: info = bundle.localizedInfoDictionary() or bundle.infoDictionary() if info and info['CFBundleName'] == 'Python': info['CFBundleName'] =  

Puede que no sea exactamente lo que necesita, pero me sorprende que nadie haya mencionado la forma sencilla e independiente de la plataforma (funciona con Python 3.x en Win 7):

 from tkinter import Tk root = Tk() root.title( "Your title here" ) # or root.wm_title 

y si quieres cambiar el icono:

 ''' Replace the default "Tk" icon with an Application-specific icon ''' ''' (that is located in the same folder as the python source code). ''' import sys from tkinter import PhotoImage program_directory = sys.path[ 0 ] IconFile = os.path.join( program_directory ) + "\ApplicationIcon.gif" IconImage = PhotoImage( file = IconFile ) root.tk.call( 'wm', 'iconphoto', root._w, IconImage ) root.mainloop()