Sono giunto alla conclusione che overrideredirect aiuta a rimuovere le decorazioni predefinite della finestra come la barra degli strumenti. Quali sono gli altri suoi usi? Non sono molto sicuro e non sono riuscito a trovare molta documentazione.
Sto lavorando su un mac. Utilizzando tkinter voglio ottenere una finestra che rimanga maxsize e che non possa essere ridimensionata, che ho ottenuto usando la geometria e ridimensionabile. Ciò di cui ho bisogno ora è la garanzia che nessuna battitura casuale da parte del mio utente possa chiudere la finestra. Will overrideredirect mi può aiutare in questo? C'è qualche alternativa?Cosa fa overrideredirect?
risposta
È possibile utilizzare overrideredirect()
e impostare il proprio flag su True
. Questo disabiliterà la tua finestra per essere chiusa da mezzi regolari come menzionato nel link sopra. Con mezzi regolari, si intende il pulsante X e la Alt +F4 battiture combinazione.
Dal momento che si è utilizzato geometry()
e resizable()
, è necessario chiamare update_idletasks()
t o forzare la visualizzazione di essere aggiornato prima che l'applicazione gira a vuoto successivo.
Ecco un esempio:
import Tkinter as Tk
root = Tk.Tk()
root.geometry('200x200+100+100')
root.resizable(False, False)
root.update_idletasks()
root.overrideredirect(True)
root.mainloop()
svantaggio di questo metodo: si lavora sempre su piattaforma Microsoft Windows, ma potrebbe non funzionare su alcune piattaforme Unix e MacOS.
EDIT:
hai chiesto chiarimenti sulle update_idletasks()
, penso che sia meglio se cito direttamente dal suo documentazione in quanto è più chiaro (ma se non si capisce questa citazione, per favore fatemelo sapere):
Alcune attività in aggiornamento della visualizzazione, come il ridimensionamento e ridisegnando widget, sono chiamati compiti inattive perché di solito sono differiti fino l'applicazione ha finito di gestione degli eventi ed è tornato al ciclo principale per attendere nuovi eventi.
Se si desidera forzare l'aggiornamento del display prima che l'applicazione risulti inattiva, chiamare il metodo w.update_idletasks() su qualsiasi widget .
- 1. Cosa fa?
- 2. Cosa fa [:]?
- 3. Cosa fa l'operatore | = fa in JavaScript?
- 4. Cosa fa "12345" + 2 fa in C?
- 5. Cosa fa -webkit-text-size-adjust fa?
- 6. Cosa fa aspnet_regiis.exe
- 7. Cosa fa System.Concurrency.AsyncLock?
- 8. Cosa fa questo codice?
- 9. Cosa fa addActionListener?
- 10. Che cosa fa APIENTRY?
- 11. Cosa fa Application.Run()?
- 12. Cosa fa document.domain = document.domain?
- 13. Cosa fa questo codice
- 14. Che cosa fa MailMessage.IsBodyHtml?
- 15. Cosa fa? in C?
- 16. Cosa fa IFormatProvider?
- 17. Cosa fa NSRunLoop?
- 18. Foo.class cosa fa?
- 19. Che cosa fa MaxDegreeOfParallelism?
- 20. VB.NET - Cosa fa ": =" fare?
- 21. AutoFac: cosa fa PropertyWiringFlags.AllowCircularDependencies?
- 22. Cosa fa onPrepareOptionsMenu?
- 23. Cosa fa Function.prototype.toMethod()?
- 24. Cosa fa @Transactional?
- 25. cosa fa "make check"?
- 26. Cosa fa === in PHP
- 27. cosa fa questo rubino?
- 28. Cosa fa MethodImplOptions.Synchronized?
- 29. Cosa fa effettivamente Process.Dispose()?
- 30. Cosa fa il^do?
potresti spiegare un po 'perché update_idletasks() sarebbe necessario in questo caso? non ho capito bene cosa significhi "applicazione prossimo a vuoto". Molte grazie! – momo
Controlla la mia modifica (e mi dispiace per questo feedback tardivo, ero offline) @momo –