Running Python 3.4.2 und Tkinter 8.6 auf einem Raspberry Pi. Ich möchte ein Text-Widget erstellen, das einen Frame fester Größe mit dem Rasterlayout-Manager füllt.Python tkinter Text-Widget füllen Sie feste Größe Rahmen mit Raster
Wenn Sie den Code unten laufen, sehen Sie den Text-Widget nicht den 800x600 Rahmen füllt. Mir ist klar, dass ich die Attribute width und height des Texts so einstellen könnte, dass sie den Frame füllen, aber das würde nur die Standardschriftart funktionieren und würde den Frame nicht genau ausfüllen.
from tkinter import *
class Test(Tk):
def __init__(self):
super().__init__()
self.text = frameText(self)
self.geometry('{}x{}'.format(800, 600))
def frameText(frame, **kw):
ysb = Scrollbar(frame)
xsb = Scrollbar(frame, orient = HORIZONTAL)
text = Text(frame, **kw)
ysb.configure(command = text.yview)
xsb.configure(command = text.xview)
text.configure(yscrollcommand = ysb.set, xscrollcommand = xsb.set)
text.grid(row = 0, column = 0, sticky = N+E+S+W)
ysb.grid(row = 0, column = 1, sticky = N+S)
xsb.grid(row = 1, column = 0, sticky = E+W)
return text
if __name__ == '__main__':
Test().mainloop()