2013-07-01 28 views
6

semplice esempio:come impostare la dimensione di un widget in tkinter?

from tkinter import * 

class GUI_CMP(): 
    def __init__(self): 
     self.tk = Tk() 
     self.text = Text(self.tk,width=60,height=40) 
     self.text.pack() 

     self.tk.mainloop() 

if __name__ == '__main__': 
    gui_cmp = GUI_CMP() 

Ecco come si presenta:

enter image description here

Come si può vedere, anche se ho impostato width=60,height=40, la larghezza del widget di testo è più piccolo rispetto ai suoi height.This continua a disturbarmi ogni volta che uso tkinter. Le mie domande sono:

  1. Che cosa fa esattamente 40 e 60 significa?

  2. Qual è la ragione per cui la larghezza del testo è inferiore alla sua altezza?

  3. Qual è il modo migliore per eseguire il controllo delle dimensioni?

risposta

8

quando si specifica l'altezza arent in pixel sono misurate da linee a seconda della dimensione del carattere corrente

e quando si specifica la larghezza non i suoi personaggi pixel

Ecco perché quando si fare Text(self.tk,width=60,height=40) il 60 significa che il widget di testo è largo 60 caratteri e il 40 significa il suo 40 linee alto

ecco da dove viene la confusione perché non è in pixel e se si cambia il carattere cambia la dimensione del widget di testo!

e questo è probabilmente il modo migliore per fare il controllo delle dimensioni è solo confuso all'inizio, ma ora che sai che avrà più senso!

un'occhiata a questo sito Text Widget Info e guardare attraverso i parametri per ulteriori informazioni

+0

Che dire di altri widget? – laike9m

+0

praticamente tutti i widget che usano il testo (messaggio, pulsante, testo, ecc.) Sono tutti di misura simile, ma qualcosa come la tela verrà misurata usando pixel :) – Serial

+0

Capisco, grazie! – laike9m

Problemi correlati