tkinter读取存储在txt文本中,然后显示到文本控件上,文本控件的大小自适应每行文本的内容;使用grid进行布局管理
时间: 2024-05-04 22:18:55 浏览: 55
可以使用Tkinter中的Text组件来显示txt文本,并使用grid进行布局管理。以下是一个示例代码:
```python
import tkinter as tk
# 创建主窗口
root = tk.Tk()
# 创建Text组件
text = tk.Text(root, wrap='none')
# 打开txt文件并读取内容
with open('data.txt', 'r') as f:
content = f.read()
# 将内容插入到Text组件中
text.insert('end', content)
# 自适应每行文本的大小
for i in range(text.index('end').split('.')[0]):
text.tag_add(f'line{i}', f'{i}.0', f'{i+1}.0')
text.tag_config(f'line{i}', font=('Arial', 12), spacing1=5, spacing2=2, lmargin1=10, lmargin2=10, lmargin3=10)
# 将Text组件放置到主窗口中
text.grid(row=0, column=0, sticky='nsew')
# 设置主窗口的大小和标题
root.geometry('400x300')
root.title('Read Text from File')
# 主循环
root.mainloop()
```
在这个示例代码中,我们首先创建了一个Text组件,并使用`with`语句打开并读取了`data.txt`文件中的内容。然后,我们将读取的内容插入到Text组件中,并使用`tag_add`和`tag_config`方法对每一行文本进行自适应大小的设置。最后,将Text组件放置到主窗口中,并设置了主窗口的大小和标题。
阅读全文