Pysimplegui: [Pregunta] * USUARIOS DE MAC * ¿No_titlebar funciona para usted?

Creado en 28 oct. 2020  ·  30Comentarios  ·  Fuente: PySimpleGUI/PySimpleGUI

Tipo de problemas (mejora, error, error, pregunta)

Error / problema con tkinter

¿Funciona no_titlebar?
¿Funciona la información sobre herramientas?

Sistema operativo

Mac

Versión de Python

3.6+

Versión y puerto de PySimpleGUI

Aquí es donde las cosas se vuelven importantes de entender.

Me gustaría saber de alguien que ejecute 8.610 y también alguien que NO ejecute 8.6.10.

Estoy tratando de entender si esto es específico de 8.6.10.

Puede obtener la versión detallada de tkinter agregando esta línea a su código:

print(sg.tkinter.Tcl().eval('info patchlevel'))

Descripción del problema / pregunta / detalles

Recuerdo los problemas de no_titlebar en Mac y me gustaría hacer un esfuerzo concertado para solucionarlos si hay algún problema. Realmente necesito ayuda sólida de un par de usuarios de Mac.

Necesito a alguien que pueda hacer esto:

  • Obtenga información precisa de la versión de tkinter (se proporciona el código I)
  • Poder probar un par de posibles correcciones cuando se publican en GitHub

Código para duplicar

Un programa corto que aísla y demuestra el problema (es decir, no pegue un enlace a su programa de 400 líneas ... en su lugar pegue su programa de 10 líneas en su totalidad).

Sí, es complicado reducir los problemas, pero es parte del proceso de depuración. Ayúdame a ayudarte proporcionándote algo que se pueda ejecutar para que el trabajo para conseguir una solución o solución temporal pueda comenzar de inmediato.

Este bloque de código preformateado está listo para que lo pegue en su código:

print(sg.tkinter.Tcl().eval('info patchlevel'))

Puede probar para ver si tiene problemas ejecutando:

import PySimpleGUI as sg

sg.popup_no_titlebar('This should not have a titlebar')

image

Mac Specific Issue community input desired help wanted

Todos 30 comentarios

Parte del problema de depurar esto en el pasado es que nunca se hizo realmente una tabla adecuada para ayudar en la depuración. Hay 3 variables en juego:

  1. Versión de PySimpleGUI
  2. versión tkinter
  3. Versión de macOS

La mayor parte del tiempo, ha sido la versión tkinter la que ha sido el foco. No estoy seguro de si tkinter es responsable de todos los problemas observados.

Aquí está mi desglose:

PySimpleGUI v4.30.0
tkinter v8.6
MacOS 10.15.7

También quiero mencionar que uso Homebrew para mis binarios de Python.

Screen Shot 2020-10-28 at 8 10 31 PM

Editar:

Python v3.8.1

macOS High Sierra versión 10.13.6
PySimpleGUI Versión 4.30.0.12
tcl ver = 8.6 tkinter versión = 8.6
tcl versión detallada = 8.6.10
Python versión 3.8.6

¡Y funciona!
it_works

editar: El entorno que me dio la menor cantidad de dolores de cabeza con respecto a tkinter:

Homebrew -> instalar brew tcl-tk
Homebrew -> brew install pyenv -> Python (ver más abajo)

env \
  PATH="$(brew --prefix tcl-tk)/bin:$PATH" \
  LDFLAGS="-L$(brew --prefix tcl-tk)/lib" \
  CPPFLAGS="-I$(brew --prefix tcl-tk)/include" \
  PKG_CONFIG_PATH="$(brew --prefix tcl-tk)/lib/pkgconfig" \
  CFLAGS="-I$(brew --prefix tcl-tk)/include" \
  PYTHON_CONFIGURE_OPTS="--enable-framework --with-tcltk-includes='-I$(brew --prefix tcl-tk)/include' --with-tcltk-libs='-L$(brew --prefix tcl-tk)/lib -ltcl8.6 -ltk8.6'" \
  pyenv install 3.8.6

pyenv global 3.8.6

y para hacer de este mi python predeterminado:

echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Seguí todos los pasos enumerados por @norambna y lo hice funcionar para mí. Sin embargo, fue un poco engorroso pasar por todos los aros.

Python v3.8.6
PySimpleGUI v4.30.0
tkinter v8.6
MacOS 10.15.7
pyenv v1.2.21
tcl-tk v8.6.10

image

¡Me alegro de que haya ayudado! Sé que tuve dificultades para encontrar una solución a todos mis problemas de macOS / tkinter. Esto no resolverá todos los problemas de tkinter, pero es claramente la mejor manera de trabajar con él en macOS.

¿Parece que tkinter versión 8.6.10 es lo que soluciona este problema?

Si todas las versiones tienen problemas excepto la 8.6.10, entonces podría buscar esa versión y aplicar la "corrección" solo a las versiones que no sean 8.6.10.

Lo que realmente me ha confundido es si se trata de un problema reciente o si no funciona la barra de título en Mac. Parece extraño que nunca hubiera funcionado, pero es difícil decirlo con certeza.

La "solución" que he visto potencialmente va a romper otras cosas, por lo que he dudado en agregarla al código.

Estos pasos son bastante feos, así que creo que tengo que hacer algo al respecto. No se puede esperar que los usuarios pasen por tantos problemas. Reuniré una versión para GitHub con la corrección que verifica el número de versión de tkinter y solo lo aplica cuando la versión no es 8.6.10.

¿Parece que tkinter versión 8.6.10 es lo que soluciona este problema?

Por mi si. 8.6.10 resuelve un montón de problemas.

Acabo de publicar 4.30.0.13 que contiene un parche si la versión es menor que 8.6.10.

Si esto "soluciona" el problema, entonces quiero probar un parche más. Este nuevo parche borra el indicador wm_overrideredirect después de configurarlo por primera vez.

root.wm_overrideredirect(True)
root.wm_overrideredirect(False)

Lo que me gustaría probar a continuación es volver a establecerlo en Verdadero para que la operación sea Verdadero Falso Verdadero. La idea aquí es que para algunos sistemas, puede funcionar correctamente si el valor se establece en Verdadero. Lo que no quiero hacer es interrumpir todas las instalaciones en las que funciona correctamente hoy y volver a configurarlo en True puede proporcionar una solución alternativa que haga lo correcto en todas las versiones de tkinter en Mac.

Verá este mensaje impreso en la consola si se aplica el parche:
* Applying Mac no_titlebar patch *

Una forma de probar esto es a través del arnés de prueba que le evitará tener que escribir código para llamar y probar ventanas emergentes. Una de las pestañas en el arnés de prueba (invocada al ejecutar el archivo PySimpleGUI.py o al llamar a sg.main() ) se usa para probar las ventanas emergentes.

image

Esto le permitirá comprobar rápidamente tanto la ventana sin barra de título como llamando a ventanas emergentes con una barra de título.

Puede ser difícil de detectar porque el fondo es el mismo que el de la ventana de prueba. Si hace clic en el botón No Titlebar , verá esta pequeña ventana

image

Espero que esto solucione la versión que no es 8.6.10 y que no se ejecute en 8.6.10+. Si no es así, prepararé rápidamente otra prueba para ver si volver a configurarlo funciona.

Si lo aclaramos, publicaré el lanzamiento en PyPI como un lanzamiento de alta prioridad.

Necesito ayuda de los usuarios de Mac

Se publicó un parche en GitHub para intentar solucionar este problema de no tener barra de título. Necesito entender si:

  • El parche soluciona el problema en sistemas que no son 8., 6.10
  • El parche no causa problemas con 8.6.10

¿Alguien puede descargar la versión de GitHub y probarla?

Me encantaría ayudar. Tengo todo configurado hasta la versión tkinter, pero no estoy seguro de cómo importar la versión 4.30.0.13 de PySimpleGUI. ¿Cómo descarga exactamente esa versión y la usa?

Debería estar con el mismo parche en la mayoría de las versiones de actualización.

Actualizar desde GitHub usando PySimpleGUI

No estoy seguro de qué hacer con este parche. Estoy preparando una versión para PyPI ahora y sin que se haya probado correctamente en una Mac, tendré que extraer el código de la versión. Prefiero liberar un problema conocido que potencialmente un nuevo conjunto de problemas. Por supuesto, mi preferencia es arreglar esto para siempre y publicarlo en PyPI.

Si hay usuarios de Mac que son capaces de ejecutar algunas pruebas, yo, y supongo que algunos de sus compañeros usuarios de Mac, agradeceríamos la ayuda.

No quiero retrasar el lanzamiento mientras espero que los usuarios de Mac prueben el nuevo código. Entonces, agregué más código para controlar cuándo se ejecuta el parche. No puedo simplemente tirar esta "solución" y potencialmente romper a los usuarios de Mac existentes. Bueno, técnicamente podría, pero prefiero no crear problemas para los usuarios que tienen código de trabajo hoy.

Para habilitar el parche para ventanas sin barra de título en una Mac, llame a set_options con el parámetro enable_mac_notitlebar_patch establecido en True.

    sg.set_options(enable_mac_notitlebar_patch=True)

El parche provocará una llamada adicional cuando se cree una ventana sin barra de título:

root.wm_overrideredirect(False)

El parche solo se ejecutará en Mac que ejecuten tkinter versiones <8.6.10.

Por defecto, el parche está desactivado. Debe tomar una acción afirmativa para obtener el parche llamando al set_options .

Este código está en la versión 4.30.0.26 y ahora está en GitHub. Se lanzará en la versión 4.31.0 en breve.

Como dije antes, estaría dispuesto a ejecutar cualquier prueba en su parche anterior. Tengo dos dispositivos mac diferentes que ejecutan diferentes versiones del sistema operativo. También estoy ejecutando varias versiones de python y tcl / tk.

Disculpas si esta es una pregunta tonta, pero ¿cómo instalo estas versiones (4.30.0.13 o 4.30.026)? Normalmente uso la instalación de pip, pero si tengo que hacer algo diferente, necesito un poco de orientación para ayudarte.

4.31.0 se publicó en PyPI hoy. Puede instalarlo como si tuviera otras versiones.

Agregue la línea de código en la publicación anterior y se ejecutará con el parche habilitado.

 sg.set_options(enable_mac_notitlebar_patch=True)

Puede instalar versiones de GitHub usando la interfaz de usuario sg.main () haciendo clic en el botón rojo que dice "Upgade". 4.31.0 es la versión actual en GitHub y la que se ha lanzado a PyPI.

Hice algunas pruebas diferentes en diferentes versiones de tcl / tk (8.5.9, 8.6.8, 8.6.10) y encontré que el código original
image
hará que la barra de título parezca estar deshabilitada, pero puedo hacer clic en el botón minimizar o x. Si lo minimizo y luego lo vuelvo a activar, la barra de título está completamente desactivada. Esto sucede tanto en 8.5.9 como en 8.6.8. Todo funciona bien para 8.6.10. (como se mencionó en comentarios anteriores)

A continuación, intenté ejecutarlo con su parche.
image
Lo que terminó sucediendo fue que la barra de título estaba activa y los botones minimizar y x funcionaban, y cuando lo minimizaba y volvía a abrir la ventana, se desactivaba, similar a lo que mencioné anteriormente.

Entonces, los problemas siguen ocurriendo con las versiones 8.6.8 y anteriores.

Aquí estaba el código original usando tkinter para obtener una ventana arrastrable sin barra de título.
image
Encontré este código cuando estaba buscando para intentar resolver este problema de intentar ocultar la barra de título. Esto está utilizando tcl / tk 8.6.8 o inferior
https://stackoverflow.com/questions/29641616/drag-window-when-using-overrideredirect

Versiones
MacOS: 10.15.7
PySimpleGUI: 4.31.0 más reciente
Python: 3.8.1, 3.8.6, 3.9.0

Para tcl / tk 8.6.8 o inferior
ni parche ni trabajo de ejemplo original

¿Viste un mensaje en la consola de que se estaba aplicando el parche?

Lo extraño de las pruebas es que la técnica que estoy usando para lograr la barra sin título es una que se publicó anteriormente aquí. Básicamente es para repetir la anulación pero con un valor Falso. También es extraño que haya un comportamiento de bloqueo que parece ser nuevo.

¿Puede asegurarse de ver este mensaje?

'* Applying Mac no_titlebar patch *

Si no ve este mensaje, el parche no se aplicó.

Sería útil si imprimiera la versión de PySimpleGUI además de imprimir la versión de tkinter solo para asegurarse de que estamos trabajando con la combinación de variables que creemos que estamos.

Sospecho cada vez más que MacOS también tiene un papel que desempeñar aquí. No supe de este problema sin barra de título y el problema con la información sobre herramientas hasta principios de este año. Estas características fueron algunas de las primeras que se lanzaron en PySimpleGUI y, sin embargo, no hubo informes de problemas con estas características hasta hace poco.

La parte de arrastrar a cualquier lugar de esto no se ha discutido antes y son datos nuevos. ¿Podemos concentrarnos en hacer que el código sin barra de título sea probado y funcione?

La "solución" para esto puede terminar siendo que los usuarios de Mac deben ejecutar tkinter 8.6.10. Estoy gastando demasiado tiempo y energía en un problema que claramente es un error en el software de Mac. No poder probar el código hace que sea una tarea casi imposible de completar.

Estuve aquí una vez antes con el error del botón tk, que era un problema conocido durante más de 6 años y aún no se solucionó. La solución para eso fue agregar soporte para botones ttk a PySimpleGUI. Fue mucho trabajo, pero finalmente permitió a los usuarios de Mac usar PySimpleGUI. A diferencia de ese error, este parece haber llamado la atención de los desarrolladores de tkinter / Mac y se corrigió en 8.6.10. Eso significa que hay un camino a seguir por los usuarios de Mac al que pueden llegar por su cuenta, sin que se agreguen este tipo de trucos y soluciones al código.

Me gustan los usuarios de mi Mac, pero es difícil justificar una inversión excesiva en el soporte de esa plataforma cuando la cantidad de usuarios es pequeña. No creo que las instalaciones hayan superado nunca el 10% para Mac.

image

Sí, parece una gran molestia para un pequeño grupo de usuarios. Acabo de descargar macOS v11 (nuevo esta semana) y parece haber un comportamiento diferente. Por ejemplo, los botones de minimizar y x están completamente deshabilitados ahora a diferencia de mi publicación anterior.

Una cosa que también noté con tkinter en macOS v11 es que para tk / tcl v8.5.9, solo necesito decir root.overrideredirect(True) sin barra de título, pero cuando trato de hacer lo mismo en tk / tcl v8.6.8 no funciona. Todavía tengo que hacer

root.overrideredirect(True)
root.overrideredirect(False)

para que funcione.

FYI, estaba recibiendo el mensaje de registro que decía que se estaba aplicando el parche. Además, la versión de PySimpleGUI que estaba usando fue 4.31.0 lanzada el 13 de noviembre de 2020.

No me importa apoyar a un pequeño grupo de usuarios con algún código específico para la plataforma Mac. El problema es que ha sido un objetivo en movimiento. No he podido encontrar una base estable recientemente. Las cosas parecían ir muy bien después de que los usuarios de Mac cambiaran a la instalación desde Python.org en lugar de Homebrew. Eso alejó a todos de los lanzamientos que tenían problemas con botones y tablas. Pero luego algo parece haber cambiado. Creo que probablemente algo fue el Mac OS.

Como mencioné anteriormente, hay 3 variables en juego. Existe la versión tkinter, la versión PySimpleGUI y la versión MacOC. Estoy descartando la versión de Python de esa lista porque, si bien tkinter está empaquetado con Python y puede diferir de una versión de Python a otra, siempre que estemos rastreando la versión de tkinter, entonces la versión de Python no importa. No tengo un control sobre el resultado porque las combinaciones son para esas 3 variables distintas de un informe en ocasiones de que "no funciona".

Hacer cualquier cosa con 8.5.9 es ir demasiado atrás. PySimpleGUI es compatible con Python 3.4 y versiones posteriores, que se remontan a 6 años. Ha sido un desafío, pero es razonable, ya que Raspberry Pi a menudo viene con esta versión de Python. Hay poco que puedo hacer para solucionar esto, aparte de obligar a los usuarios de Pi a actualizar su versión de Python y preferiría que eso no suceda, ya que no es algo trivial.

8.5.9 fue lanzado hace más de 10 años. Un poco de contexto ... el mismo año en que se lanzó 8.5.9, también lo fue 2.7.0. Python 3 estaba en 3.1. Se remonta demasiado lejos para tener un valor real. Entiendo el contexto para el que lo estás usando, que es para demostrar que en algún momento ninguna barra de título funcionó, pero retroceder una década para encontrar una versión funcional de cualquier cosa es bastante extremo. Es toda una vida en software.

Escuchar que MacOS v11 tiene alguna relación con el funcionamiento de tkinter es aún más desesperante. El sistema operativo en sí no debería tener ningún impacto ... cero ... en cómo funcionan tkinter y Python.

Es decepcionante escuchar que el parche no tuvo un impacto positivo, ya que lo que hace al establecer wm_overrideredirect en False, se supone que soluciona el problema. Aquí está el código que se ejecuta sin barra de título en una Mac:

                MyFlexForm.TKroot.wm_overrideredirect(True)
                # Special case for Mac. Need to clear flag again if not tkinter version 8.6.10+
                if sys.platform.startswith('darwin') and ENABLE_MAC_NOTITLEBAR_PATCH and (sum([int(i) for i in tclversion_detailed.split('.')]) < 24):
                    print('* Applying Mac no_titlebar patch *')
                    MyFlexForm.TKroot.wm_overrideredirect(False)

El mensaje "Application Mac no_titlebar patch" se muestra justo antes de volver a configurar wm_overrideredirect en False.

Me encantaría publicar una versión de PySimpleGUI que funcione con todas las versiones de Mac OS en todas las versiones de tkinter, pero eso es lo que he estado intentando hacer desde el lanzamiento inicial de PySimpleGUI, y parece que los últimos esfuerzos han sido consistentes se quedó corto.

La única solución de trabajo conocida que conozco en este momento es requerir que los usuarios de Mac instalen 8.6.10. Eso parece producir resultados que funcionan. El "arreglo" de PySimpleGUI se perfila como un mensaje de error que se imprime cuando alguien intenta crear una ventana sin barra de título o intenta establecer información sobre herramientas. Es una solución terrible desde el punto de vista de la usabilidad, pero no veo otra salida a esto. Es mejor que requerir que los usuarios instalen una versión de tkinter de hace una década.

Me preocupa el uso de instalaciones caseras de Python y tkinter. Fue solo el año pasado que descubrimos que homebrew era la fuente de los problemas y que la instalación desde Python.org solucionó esos problemas.

Si desea intentar agregar llamadas adicionales a wm_overrideredirect o realizar alguna otra operación en el objeto tkinter root , puede acceder a él directamente usando la variable miembro Window window.TKroot . Tal vez pueda encontrar una combinación de llamadas que funcione. Evidentemente estoy ponchando.

No creo que estén relacionados, pero es posible que desee intentar desactivar la configuración modal para la ventana como prueba.

Solo quiero aclarar algo sobre tk / tcl 8.5.9 ... la única razón por la que estaba usando esa versión es porque estaba empaquetada con la instalación de homebrew python 3.9.1. Solo estaba usando lo que sea que me dieron. Entonces, como dijiste, puede ser un problema casero.

Me perderé un poco con la descarga de algunas de las versiones de python.org. No tengo ningún problema en ayudarte a resolver esto. Tal vez podría hacer algunas pruebas que estén un poco más controladas para las diferentes variables en juego. Puede que me lleve un poco de tiempo hacer esto, pero si tienes cosas específicas que quieres que pruebe además de las que mencionaste anteriormente, házmelo saber.

Otra cosa que quería mencionar es que cuando uso tkinter y hago la llamada root.overrideredirect(True) , ni siquiera aparecerá una ventana. Así que, si me preguntas, hay algo más que hacer aquí, ya que al usar PySimpleGUI aparecerá la ventana aunque no elimina la barra de título, solo la desactiva. (para versiones <8.6.10)

No tengo ningún problema en ayudarte a resolver esto.

Bueno ... voy a aprovechar esta oportunidad. Me gustaría resolver este problema para que los usuarios de Mac no estén obligados a instalar 8.6.10. No es una cosa fácil de hacer como se ha demostrado a través de los comentarios anteriores.

tk / tcl 8.5.9 ... la única razón por la que estaba usando esa versión es porque estaba empaquetada con la instalación de homebrew python 3.9.1.

GUAU .... salta simplemente GUAU ....

Qué ejemplo gráfico de por qué usar Homebrew para la instalación de Python no es una buena idea. Por un lado, pude ver a alguien diciendo eso porque "funciona", entonces está bien de usar, pero no es tan simple. La cantidad de código de tkinter agregado desde 8.5.9 tiene que ser significativa ya que tkinter no se ha detenido en una década.

Encuentro que esta es una noticia impresionante. :-( Qué batalla cuesta arriba.

Intente instalar desde Python.org. Hace algún tiempo agregué la necesidad de instalar desde Python.org a la documentación:

https://pysimplegui.readthedocs.io/en/latest/#macs

Es tan extraño que estos problemas parezcan surgir de la nada. Aunque el número de usuarios de Mac es pequeño, existen y están usando PySimpleGUI en tkinter. Estoy seguro de que si esta función se rompió hace 2 años, alguien habría dicho algo. Seguramente se quejaron de los problemas de color de los botones.

Sería bueno si las pruebas se organizaran y se realizaran un seguimiento cuidadosamente. Una matriz de combinaciones sería muy útil.

_Me gustaría ver si hay una manera de probar versiones anteriores de todo y luego dar un paso adelante hasta que algo se rompa.

Ese sería mi plan ideal.

Solo mis 2 centavos. No soy un usuario de Mac, pero tuve que desarrollar algo en python para macOS, así que aquí es donde obtuve mi experiencia limitada.

Hace un par de meses, cuando probé mis opciones, probé versiones de Python descargadas directamente de python.org. En ese momento paso mucho tiempo con la versión 3.6.8 de python.org, que viene incluida con Tcl / Tk 8.6.8. Y definitivamente tiene errores al probar los diversos elementos de PySimpleGUI. Creo que es solo tkinter, no está tan pulido para macOS. Por defecto, la versión Homebrew de Python NO viene con Tcl / Tk (ver aquí y aquí ), pero por supuesto probablemente hay muchas "brebajes" no oficiales. La versión Pyenv no viene con Tcl / Tk. Utilicé el truco que publiqué arriba para probar Tcl / Tk 8.6.10. Como dije, todavía no es perfecto, pero en mis pruebas definitivamente fue la mejor opción. Tenía que hacer un producto, probé lo que funcionaba y lo que no, y usé las cosas que funcionaron para mi proyecto.

Por cierto, las ventanas modales no funcionan con la versión 3.6.8 de python.org, que viene incluida con Tcl / Tk 8.6.8 y también dan problemas con pyenv python y Tcl / Tk 8.6.10. Vea aquí .

edit: y macOS viene con Tcl / Tk 8.5.9 como parte del sistema operativo. Es por eso que obtiene esa versión si su python no viene con una versión más nueva Tcl / Tk. Entonces, si está utilizando una instalación de preparación regular de python, esa python usará la versión Tcl / Tk que viene con el sistema operativo. Es por eso que obtienes Tcl / Tk 8.5.9 cuando usas una pitón casera normal. Y es por eso que mi truco tiene que instruir explícitamente a python de pyenv para que use la instalación más reciente de tcl-tk.

Oh ... me olvidé de esa cosa modal.

Las pruebas emergentes que hemos estado ejecutando se pueden probar con modal deshabilitado.

@tkozzer ... ¿puedes probar esta prueba emergente?

sg.popup_no_titlebar('This should not have a titlebar', modal=False)

Además, solo para asegurarse de que drag_anywhere no esté causando problemas, pruebe esta ventana emergente también.

sg.popup_no_titlebar('This should not have a titlebar', modal=False, grab_anywhere=False)

Para obtener el máximo control y visibilidad de las opciones que se están configurando, cambiar a la creación de una ventana es probablemente una mejor manera de probar. Aquí hay un programa con el que podemos trabajar en este problema:

import PySimpleGUI as sg


layout = [[sg.Text('A no-titlebar test')],
          [sg.Button('Ok'), sg.Button('Exit')]]

window = sg.Window('Title', layout, no_titlebar=True, grab_anywhere=False, modal=False)

while True:
    event, values = window.read()
    print(event, values)
    if event in (sg.WIN_CLOSED, 'Exit'):
        break

window.close()

Estoy preparando un lanzamiento hoy, ya que hay algunos cambios que deben adaptarse rápidamente a PyPI. Si las ventanas modales están realmente rotas para Mac, en todos los ámbitos, para todas las versiones de tkinter, las desactivaré en esta versión. ¿Alguien puede verificar que las ventanas modales no funcionen correctamente para 8.6.10 y otras versiones? Todavía no tengo claras las combinaciones de tkinter y MacOS que producen estos diferentes problemas.

Puedo confirmar que las ventanas modales no funcionan para python.org python 3.6.8 que viene con Tcl / Tk 8.6.8. Y no funcionan para Python 3.6.11 de pyenv que trabaja con Tcl / Tk 8.6.10 de Homebrew. Esas son las únicas versiones que probé con ese problema en particular.

pyenv no proporciona ningún paquete / biblioteca por sí solo. Ayuda con la configuración. Todavía tiene que elegir qué instalar y luego qué desea cambiar.

Para Mac, la versión de Python no importa tanto como el tkinter y creo que la versión de MacOS. tkinter 8.6.8 debería ejecutarse exactamente igual en 3.6, 3.7, 3.8, 3.9. Lo que puede variar es qué versión de tkinter se instala cuando instala 3.6, 3.7, etc., al menos en Windows. Una razón para obtener Python de Python.org es que obtienes una versión específica de tkinter empaquetada con la instalación.

la versión de Python no importa tanto como el tkinter y creo que la versión de MacOS

macOS High Sierra Versión 10.13.6 para todas mis pruebas.

¿Fue útil esta página
0 / 5 - 0 calificaciones