2013-07-01 23 views
6

einfaches Beispiel:Wie setze ich die Größe eines Widgets 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() 

Hier ist, wie es aussieht:

enter image description here

Wie Sie sehen können, obwohl ich width=60,height=40 gesetzt, ist die Breite des Textfensters kleiner als sein height.This hält mich zu stören jedes Mal, wenn ich tkinter.So meine Fragen verwenden sind:

  1. Was genaututund 60 bedeuten?

  2. Warum ist die Textbreite kleiner als ihre Höhe?

  3. Was ist der beste Weg zur Größenkontrolle?

Antwort

8

, wenn Sie die Höhe festlegen, sie in Pixeln Arent sie durch Linien gemessen werden auf der aktuellen Schriftgröße abhängig

und wenn Sie die Breite ihrer Zeichen nicht angegeben Pixel

Aus diesem Grund, wenn Sie do Text(self.tk,width=60,height=40) die 60 bedeutet, dass das Text-Widget 60 Zeichen breit ist und die 40 bedeutet, dass seine 40 Zeilen hoch

ist, wo die Verwirrung kommt, weil es nicht in Pixel und wenn Sie die Schriftart ändern es ändert sich nicht die Größe des Textwidgets!

und das ist wahrscheinlich der beste Weg, Größenkontrolle zu tun, es ist zunächst nur verwirrend, aber jetzt, wo Sie wissen, wird es mehr Sinn machen!

einen Blick auf diese Seite Text Widget Info und die Parameter für weitere Informationen

+0

Was ist mit anderen Widgets schauen durch? – laike9m

+0

so ziemlich jedes Widget, das Text (Nachricht, Taste, Text, etc) verwendet, sind alle Maß wie das, aber so etwas wie Leinwand wird mit Pixel gemessen werden :) – Serial

+0

Ich verstehe, danke! – laike9m

Verwandte Themen