鱼C论坛

 找回密码
 立即注册
查看: 1703|回复: 2

tkinter中text能不能作为多行文本输入框

[复制链接]
发表于 2020-3-7 12:10:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
用entry组件只能显示出一行,虽然可以设置width属性加宽度,但高度没法加,放在窗口中很难看
用text组件能很好的显示出比较美观的窗口,但是直接在文本框中输入内容,实际上并没有输入任何东西,因为没有用insert等方法插入内容
现在很苦恼该如何解决。
#创建一个文本框输入请假理由
entry_reason = tk.Text(root,
                       height = 10,
                       width = 45,
                       )
value_input = entry_reason.get('1.0',tk.END)
pirnt(value_input)
最后什么都没有打印出来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-7 12:50:57 | 显示全部楼层
本帖最后由 yexing 于 2020-3-7 13:11 编辑
import tkinter as tk

root = tk.Tk()

entry_reason = tk.Text(root,
                       height = 10,
                       width = 45,
                       )
entry_reason.pack()

def func():
    print(entry_reason.get(1.0, tk.END))

tk.Button(root, text="打印", command=func).pack()
tk.mainloop()
要加个按钮组件来对内容进行获取。
如果有帮助,不妨设置【最佳答案】
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-7 19:30:23 | 显示全部楼层
你好,参考鱼大文档
Tkinter 窗口组件:Text
https://fishc.com.cn/thread-59444-1-1.html
(出处: 鱼C论坛)

text具有如下函数

get(index1, index2=None)
-- 返回 index1 到 index2(不包含)之间的文本
-- 如果 index2 参数忽略,则返回一个字符
-- 如果包含 image 和 window 的嵌入对象,均被忽略
-- 如果包含有多行文本,那么自动插入换行符('\n')


比如
from tkinter import *
 
root = Tk()
text1 = Text(root,width=30,height=10)
text1.pack()
 
text1.insert(INSERT,'lan\r\nlu\r\nyug')
contents = text1.get('1.2',END)
print(contents)
mainloop()

希望对你有所帮助哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 16:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表