tkinter.Text ,按照输入的文本内容更改文本框大小
时间: 2023-06-20 20:07:58 浏览: 86
你可以使用 `tkinter.Text` 的 `width` 和 `height` 属性来更改文本框的大小。当你输入文本时,你可以使用 `Text` 的 `bbox` 方法来测量文本的大小,并根据其计算文本框的大小。
下面是一个示例代码,当你输入文本时,它会自动调整文本框的大小:
```python
import tkinter as tk
class AutoSizeText(tk.Text):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.bind("<KeyRelease>", self.on_key_release)
def on_key_release(self, event):
# 计算文本大小
bbox = self.bbox("end-1c")
width = bbox[2] - bbox[0]
height = bbox[3] - bbox[1]
# 更新文本框大小
self.config(width=width, height=height)
```
在你的应用程序中,你可以像这样使用 `AutoSizeText`:
```python
root = tk.Tk()
text = AutoSizeText(root)
text.pack()
root.mainloop()
```
这将创建一个带有自动调整大小的文本框的窗口。当您输入文本时,它将自动调整文本框的大小以适应文本的大小。