0
ラズベリーパイのPython 3.4.2およびTkinter 8.6を実行しています。グリッドレイアウトマネージャを使用して固定サイズのフレームを塗りつぶすテキストウィジェットを作成したいと思います。Python tkinterグリッドを使用してテキストウィジェットを固定サイズのフレームに埋め込みます。
以下のコードを実行すると、テキストウィジェットが800x600フレームを満たさないことがわかります。 Textの幅と高さの属性をフレームに塗りつぶすように設定することができますが、これはデフォルトのフォントでしか動作せず、フレームを正確に塗りつぶすことができません。彼らは拡大するよう
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()