Python 2.7: A tema interfacce Tkinter “di dialogo comune” via Ttk?
-
10-10-2019 - |
Domanda
Python 2.7 (32-bit) di Windows: Stiamo sperimentando con il supporto di Python 2.7 di per tema Tkinter (ttk
) per una semplice interfaccia grafica di e siamo venuti via molto impressionato !! L'unica area in cui il nuovo supporto tema sembra avere venire a breve è come OS specifiche finestre di dialogo comuni sono avvolti.
Corretto: In altre parole, le MessageBox
e ColorChooser
comuni finestre di dialogo sono "brutto" alla ricerca di stile Win 95 blocchi cercando pulsanti contro i pulsanti a tema (arrotondato / gradiente) che normalmente appaiono nelle finestre di dialogo comuni sotto XP, Vista, e Windows 7. (sto testando su tutte le 3 piattaforme con identici, un-a tema risultati).
. Nota: Le finestre di dialogo filedialog comuni (askopenfilename
, askopenfilenames
, asksaveasfilename
, askdirectory
) sono tutti correttamente tema
import tkMessageBox as messagebox
messagebox.showinfo()
import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )
Tutte le idee su ciò che è necessario per ottenere MessageBox
e ColorChooser
comuni finestre di dialogo di Tkinter per essere operativo tema compatibile (almeno in Windows XP o superiore)?
Soluzione
La tua osservazione è principalmente corretta. Io vedo che cosa si fa riferimento nel messagebox
e colorchooser
. Tuttavia, i miei filedialogs tutti sembrano avere pulsanti adeguatamente arrotondati, ecc.
La mia raccomandazione per voi di fare del messagebox è quello di creare il proprio MessageBox utilizzando il widget di TopLevel
, e quindi definire che cosa avete bisogno su di esso e il comportamento più appropriato per i diversi tasti (è sicuramente un po 'più difficile di un semplice utilizzando un messagebox, ma se si ha realmente bisogno i nuovi pulsanti di stile, funzionerà).
Non credo che si può incidere insieme una soluzione per il problema colorchooser
, tuttavia.
I comunque per un minuto che forse Python 3.1 ha risolto questo problema, ma purtroppo, ho provato e che non è il caso. Suppongo che se è necessario che l'utente di scegliere un colore, i pulsanti dovranno essere brutto.
Altri suggerimenti
Una possibilità per ottenere più bello finestre di dialogo è quello di compilare lo script di un file eseguibile utilizzando pyinstaller
. Spiego questo più thouroughly qui .
tl;. Dr, sembra che la compilazione con pyinstaller
ti permette di avere le finestre di dialogo con lo stile del sistema operativo attualmente in esecuzione, ma non la consuetudine stili