Pregunta

Python 2.7 (32 bits) de Windows: Estamos experimentando con el apoyo de Python 2.7 para Tkinter temática (ttk) para la interfaz gráfica de usuario sencilla y venimos de lejos muy impresionado !! La única área donde el nuevo tema de apoyo parece tener quedan cortos es cómo se envuelven diálogos comunes OS específicos.

Se ha corregido: En otras palabras, los diálogos MessageBox y comunes ColorChooser tienen "feo" aspecto estilo Windows 95 bloques mirando botones frente a las temáticas botones (/ gradiente redondeada) que normalmente aparecen en estos cuadros de diálogo comunes bajo XP, Vista y windows 7. (estoy probando en las 3 plataformas con resultados idénticos, ONU-temática).

Nota:. Los diálogos filedialog comunes (askopenfilename, askopenfilenames, asksaveasfilename, askdirectory) están todos debidamente temática

import tkMessageBox as messagebox
messagebox.showinfo()

import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )

¿Alguna idea sobre lo que se requiere para obtener MessageBox y comunes ColorChooser los diálogos de Tkinter a ser tema de OS compatible (al menos en Windows XP o superior)?

¿Fue útil?

Solución

Su observación es fundamentalmente correcta. Veo lo que usted se refiere en el messagebox y la colorchooser. Sin embargo, mis filedialogs todos parecen tener botones adecuadamente redondeadas, etc.

Mi recomendación para usted en hacer que el cuadro de mensaje es crear su propio cuadro de mensaje usando el widget TopLevel, y luego definir lo que necesita en él y el comportamiento apropiado para los diferentes botones (que es sin duda un poco más difícil que simplemente utilizando un cuadro de mensaje, pero si realmente necesita los nuevos botones de estilo, que va a trabajar).

No creo que se puede hackear juntos una solución para el problema colorchooser, sin embargo.

I, aunque por un momento que quizá Python 3.1 ha solucionado este problema, pero por desgracia, tratado y que no es el caso. Supongo que si lo que necesita el usuario para seleccionar un color, los botones tienen que ser feo.

Otros consejos

Una opción para conseguir los cuadros de diálogo mejor aspecto es compilar la secuencia de comandos a un uso de pyinstaller ejecutable. Lo explico más Thouroughly aquí .

tl;. Dr, parece que compilar con pyinstaller le permite tener cuadros de diálogo con el estilo del sistema operativo actualmente en ejecución, pero no estilos personalizados

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top