tkinter创建文本框并输入多行文本
时间: 2023-08-04 19:03:38 浏览: 129
您可以使用`tkinter`库中的`Text`小部件来创建多行文本框,并使用`.insert()`方法向文本框中插入文本。以下是一个示例代码:
```python
import tkinter as tk
def submit_text():
input_text = text_box.get("1.0", "end-1c") # 获取文本框中的内容,从第一行第一列到最后一行最后一列
print(input_text)
root = tk.Tk()
text_box = tk.Text(root, height=4, width=30) # 创建一个高度为4行,宽度为30个字符的文本框
text_box.pack()
submit_button = tk.Button(root, text="提交", command=submit_text)
submit_button.pack()
root.mainloop()
```
在这个例子中,我们创建了一个高度为4行,宽度为30个字符的文本框,并在窗口中显示。用户可以在文本框中输入多行文本。当用户点击“提交”按钮时,程序会获取文本框中的内容,并将其打印出来。
请注意,`.get()`方法用于获取文本框中的内容。参数`"1.0"`表示从第一行第一列开始获取,`"end-1c"`表示获取到最后一行最后一列之前的内容。
相关问题
kinter创建文本框并输出多行文本
您可以使用`tkinter`库中的`Text`小部件来创建多行文本框,并使用`.get()`方法获取文本框中的内容。以下是一个示例代码:
```python
import tkinter as tk
def print_text():
input_text = text_box.get("1.0", "end-1c") # 获取文本框中的内容,从第一行第一列到最后一行最后一列
print(input_text)
root = tk.Tk()
text_box = tk.Text(root, height=4, width=30) # 创建一个高度为4行,宽度为30个字符的文本框
text_box.pack()
print_button = tk.Button(root, text="输出", command=print_text)
print_button.pack()
root.mainloop()
```
在这个例子中,我们创建了一个高度为4行,宽度为30个字符的文本框,并在窗口中显示。用户可以在文本框中输入多行文本。当用户点击“输出”按钮时,程序会获取文本框中的内容,并将其打印出来。
请注意,`.get()`方法用于获取文本框中的内容。参数`"1.0"`表示从第一行第一列开始获取,`"end-1c"`表示获取到最后一行最后一列之前的内容。
python tkinter 多行文本框光标停留在文本框首位
你可以使用Text组件的`see`和`mark_set`方法来实现将光标停留在文本框首位。
具体实现如下:
``` python
from tkinter import *
root = Tk()
# 创建Text组件
text = Text(root)
# 在Text组件中添加文本
text.insert(INSERT, "这是一行文本\n这是第二行文本\n这是第三行文本")
# 设置光标位置为第一行第一列
text.mark_set(INSERT, "1.0")
# 将Text组件滚动到第一行第一列
text.see("1.0")
# 将Text组件显示出来
text.pack()
root.mainloop()
```
在这个例子中,我们先创建了一个Text组件,然后在其中插入了三行文本。接着,我们使用`mark_set`方法将光标位置设置为第一行第一列,使用`see`方法将Text组件滚动到第一行第一列。最后将Text组件显示出来即可。
阅读全文