Tengo 2 List-boxes separados en el modo de selección única. Cuando selecciono un elemento de listboxA
, se resalta, pero cuando selecciono un elemento de listboxB
, se resalta y el elemento de listboxA
permanece activo, pero no se resalta. ¿Cómo puedo mantener ambos resaltados?¿Cómo mantener las selecciones resaltadas en un tkinter Listbox?
Respuesta
Respuesta corta: el atributo exportselection
de cada cuadro de lista a False
Tkinter tiene sus raíces en el sistema de ventanas X. X tiene un concepto llamado "selección", que es similar al portapapeles del sistema (más exactamente, el portapapeles es la selección "PRIMARIO"). Por defecto, varios de los widgets tkinter exportan su selección para ser la selección PRIMARIA. Una aplicación solo puede tener una selección PRIMARY a la vez, por lo que el resaltado desaparece al hacer clic entre dos listboxes.
Tkinter le da control sobre este comportamiento con la opción de configuración exportselection
para el cuadro de lista (y los widgets de texto y de entrada). Establecerlo en False
impide la exportación de la selección a la selección X, lo que permite que el widget retenga su selección cuando un widget diferente obtiene el foco.
Por ejemplo:
the_listbox = tk.Listbox(..., exportselection=False)
Citando del official tk documentation:
exportselection Especifica si o no una selección en el widget también debería ser la selección X. El valor puede tener cualquiera de las formas aceptadas por Tcl_GetBoolean, como verdadero, falso, 0, 1, sí o no. Si se exporta la selección , al seleccionar en el widget, se anula la selección actual X , al seleccionar fuera del widget, se anula cualquier selección de widget y el widget responderá a las solicitudes de recuperación de selección cuando tenga una selección. El valor predeterminado suele ser que los widgets exporten las selecciones .
- 1. ¿Cómo establecer múltiples selecciones en ASP.NET ListBox?
- 2. ¿Cómo puedo copiar líneas resaltadas en Notepad ++?
- 3. ¿Cómo edito todas las instancias resaltadas de una palabra simultáneamente?
- 4. tkinter en un widget
- 5. ¿Cómo puedo obtener emacs para mantener mis cadenas de búsqueda resaltadas?
- 6. Múltiples selecciones en VIM
- 7. ¿Cómo seleccionar mediante programación las selecciones con jQuery UI?
- 8. Cómo poner de relieve las múltiples selecciones? Por ejemplo
- 9. ¿Cómo puedo ordenar una lista basada en las selecciones de un usuario en ASP.NET MVC?
- 10. ¿Cómo mantener las importaciones ordenadas en Django?
- 11. ¿Cómo se muestran las sugerencias sobre herramientas en Tkinter?
- 12. ¿Cómo puedo hacer sub selecciones en un elemento ya seleccionado?
- 13. Obtener ListBoxItem en un ListBox
- 14. Selecciones no continuas en cromo?
- 15. Cómo obtener las coordenadas de un objeto en un lienzo tkinter?
- 16. Cómo deshabilitar ScrollViewer en ListBox?
- 17. ¿Cómo se crea un botón en un Canvas de tkinter?
- 18. Cómo crear un temporizador usando tkinter?
- 19. WPF: ¿Cómo puedo evitar el parpadeo de las casillas marcadas en un ListBox o un ListView?
- 20. Cambiar el tamaño de las imágenes en PIL en Tkinter
- 21. Cómo publicar las selecciones de un cuadro de lista HTML con múltiples valores seleccionados
- 22. ¿Cómo creo un selector de fecha en tkinter?
- 23. Python, Tkinter: Cómo obtener coordenadas en un lienzo desplazable
- 24. ¿Cómo mantener un histograma dinámico?
- 25. Cambiar el tamaño del widget Tkinter Listbox cuando la ventana cambia de tamaño
- 26. Multicolumn ListBox en WPF
- 27. ¿Por qué las selecciones JList ocurren dos veces?
- 28. ¿Cómo poner una ventana tkinter encima de las otras?
- 29. WPF: ¿cómo manejo un clic en un elemento de ListBox?
- 30. ¿Cómo seleccionar al mismo tiempo desde dos Listbox?