Io uso LinuxMint 17.3 Cinnamon in VirtualBox, la risoluzione 1920 * 1080 è utilizzata in questa macchina, l'opzione Hi-DPI è attivata. La macchina host è Windows 10, con risoluzione 3840 * 2160.
Nonostante l'attivazione dell'opzione Hi-DPI in LinuxMint, alcune applicazioni diventano buone per un lavoro confortevole, in termini di ridimensionamento, ma la GUI python-tk (python2) non è stata modificata - la dimensione del carattere è minuscola, la modifica delle opzioni Font in Cinnamon non cambia i caratteri in tk. C'è un modo per ridimensionare correttamente le applicazioni GUI tk già scritte?Scaling di Tkinter GUI in risoluzione 4k (3840 * 2160)?
risposta
tkinter ha un fattore di scala interno che utilizza per convertire misure come punti e pollici in pixel. È possibile impostare questo con il comando "ridimensionamento tk". Questo comando accetta un argomento, che è il numero di pixel in un "punto". Un punto è 1/72 di pollice, quindi un fattore di scala di 1,0 è appropriato per un display 72DPI.
root = Tk()
root.tk.call('tk', 'scaling', 2.0)
Secondo un commento in a similar question, ciò non pregiudica i font di default dal momento che sono definiti al di fuori del contesto di Tkinter. Se si specificano i propri font in punti, devono rispettare questa impostazione.
La documentazione ufficiale per il comando scaling
è questo:
Imposta e interroga il fattore di scala corrente utilizzato dalla Tk per convertire tra le unità fisiche (ad esempio, punti, pollici o millimetri) e pixel . L'argomento numero è un numero in virgola mobile che specifica il numero di pixel per punto sul display della finestra. Se l'argomento della finestra è omesso, per impostazione predefinita viene visualizzata la finestra principale. Se l'argomento numero è omesso, il valore corrente del fattore di scala è restituito.
Un "punto" è un'unità di misura pari a 1/72 di pollice. Un fattore di scala di 1.0 corrisponde a 1 pixel per punto, che è equivalente a un monitor standard a 72 dpi. Un fattore di scala di 1,25 significherebbe 1,25 pixel per punto, che è l'impostazione per un monitor 90 dpi ; impostando il fattore di ridimensionamento su 1,25 su un monitor a 72 dpi, causerà la visualizzazione di tutte le informazioni nell'applicazione 1,25 volte come di dimensioni normali. Il valore iniziale per il fattore di scala viene impostato quando l'applicazione si avvia, in base alle proprietà del monitor installato, ma può essere modificata in qualsiasi momento. Le misurazioni effettuate dopo il fattore di ridimensionamento verranno utilizzate per il nuovo fattore di ridimensionamento, ma non è definito se i widget esistenti verranno ridimensionati dinamicamente a , in base al nuovo fattore di ridimensionamento.
- 1. Android Studio - 4K monitor UI scaling
- 2. Python Tkinter Embed Matplotlib nella GUI
- 3. Rilevamento di schermi UHD 4K su Android
- 4. Scaling intero schermo in XNA
- 5. Esiste un'app di progettazione GUI per la geometria Tkinter/griglia?
- 6. Scaling Drupal
- 7. Come utilizzare l'aspetto della GUI "nativa" con Tkinter?
- 8. C'è un modo per rendere le app tkinter più grandi sui display ad alta risoluzione?
- 9. C'è un modo per simulare la risoluzione 4K sul mio PC?
- 10. Sviluppa la risoluzione 4K sul desktop o lascia che i browser gestiscano il ridimensionamento?
- 11. Rilevazione di 4K/Ultra High Definition (UHD) con JavaScript
- 12. Errore di cacao 3840 utilizzando JSON (iOS)
- 13. Scaling di LibGDX Grafica 2d
- 14. Heroku Dyno/Worker Scaling
- 15. Bitmap Canvas Scaling Android
- 16. Scaling PCA con ggbiplot
- 17. Bootstrap Immagini Responsive Scaling
- 18. Scaling phoenix su heroku
- 19. Scaling e Clustering JPA
- 20. Scaling socket.io tra server
- 21. Scaling automatico di TIFF multipagina NSImage in un CALayer
- 22. UIImmagine scaling/interpolazione
- 23. Scaling css percentage ring
- 24. ImportError durante l'importazione di Tkinter in Python
- 25. Python tkinter: crea un output in una casella di testo sulla GUI non presente nella shell
- 26. AttributeError in tkinter
- 27. Tkinter: attesa articolo in coda
- 28. Mostra sequenza video TkInter
- 29. Come posso inviare l'output del processo di multiprocessing di Python a un Tkinter gui
- 30. Reindirizza i risultati della riga di comando a una GUI di tkinter
l'opzione di ridimensionamento influisce sulla dimensione dei pulsanti e, forse, su altri elementi, ma non sulle dimensioni dei testi in Etichette, Cornici e così via. Sembra che non ci siano alternative per modificarli per l'app già scritta . Per le nuove app, probabilmente, [caratteri personalizzati] (http://stackoverflow.com/a/4073037/4060355) può essere una soluzione. Ulteriori informazioni [qui] (http://stackoverflow.com/questions/7183094/setting-tk-scaling-in-python-tkinter-affects-widgets-but-not-text). – alr