python 用Tkinter.Text设置了文本框之后如何获取输入内容

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 用Tkinter.Text设置了文本框之后如何获取输入内容相关的知识,希望对你有一定的参考价值。

1、首先打开python,输入:

#coding:utf-8

import urllib,urllib2

import Tkinter #导入TKinter模块

2、然后输入:

ytm=Tkinter.Tk() #创建Tk对象

ytm.title("login") #设置窗口标题

ytm.geometry("300x300") #设置窗口尺寸

3、然后输入:

l1=Tkinter.Label(ytm,text="用户名") #标签

l1.pack() #指定包管理器放置组件

user_text=Tkinter.Entry() #创建文本框

4、然后输入:

user_text.pack()

def getuser():

  user=user_text.get() #获取文本框内容

  print user  Tkinter.Button(ytm,text="登录",command=getuser).pack() #command绑定获取文本框内容方法

ytm.mainloop() #进入主循环,就完成了。

参考技术A

1、打开eclipse开发工具,新建python文件;导入tkinter需要的包,设置窗口标题,如下图所示。

2、默认的窗口很小,这里设置窗口的宽度和高度,400x300。

3、在窗口中添加一个Entry组件,设置show属性为None,调用pack()方法添加到窗口中;执行这个文件,弹出一个窗口。

4、再次在窗口上添加一个Button按钮,文本内容为插入字符,设置宽度和高度。

5、,添加按钮点击事件,定义事件函数appendStr;获取Entry组件的值,赋值给Label(添加Label控件),结果出现了报错,Label控件没有insert属性。

6、Label控件改为Text文本框,再次执行这个文件;在Entry控件输入字符串,点击按钮之后相应的Text也会出现该字符串。

参考技术B

text.get()语句。

如下:

import tkinter
import tkinter as tk


def getstr():
    if text.get() != '':
        words = text.get()
        label["text"] = words


root = tk.Tk()
root.title('主窗口')
root.geometry('500x500')
root.wm_attributes('-topmost', 1)

text = tk.Entry(root, borderwidth=1, width=40)
text.grid(row=1, column=1)
label = tkinter.Label(root, text="您好")
label.grid(row=2, column=1)
comand = tk.Button(root, text="获取", command=getstr, width=10, height=2)
comand.grid(row=3, column=1)
root.mainloop()

本回答被提问者和网友采纳
参考技术C 可以用 :
文本 = 文本框实例.get("第几行.第几个字", "第几行.第几个字")
第一个字符串是获取文本的起始位置,第二个是结束位置(为"end"表示到结尾)。
第几行从1开始记,第几个字从0开始。(例:("1.0", "end")表示从第一行第一个字到结尾。)
注意在创建文本框的时候不要把布局和创建命令放在一行,不然会一直返回None,导致报错。

如何将Tkinter Text小部件的撤消/重做历史记录复制到另一个小部件中

我使用Python 3.6.5获得了一个基于Tkinter的GUI程序。

我有一个临时窗口,里面有一些Text小部件(和其他东西)。临时窗口关闭时整个窗口被破坏。但是,我想在下次打开(并重新构建)时保留撤消/重做历史记录以及某些特定Text小部件中的任何文本。以另一种方式重新编程当然是可能的,但考虑到事情的设置,可能是一项不必要的大量工作(尽管如果你有想法,无论设置如何都应该有效,请随时告诉我)。更改设置可能很容易引入错误。

具有不同小部件的两个不同窗口需要在一些类似小部件之间共享数据(并且我想扩展它以包括undo-redo历史)。我相信不同的父母是窗户被毁坏的一部分,但我可能是错的(可能还有其他原因)。

无论如何,我想知道,文本小部件的撤消/重做历史存储在哪里?如果我可以在窗口关闭之前以某种方式复制它并将其放入新构建的窗口小部件(构建它的任何窗口),那将是很好的。

我正在添加tk标签,因为我查看了tkinter的Python源代码,并没有找到任何特别有用的东西(所以也许那些使用TCL或者其他人会知道)。

我意识到可能无法访问存储历史记录的变量,但我认为值得询问,以防万一。

答案

不,您无法保存文本窗口小部件的撤消/重做历史记录,销毁窗口小部件,然后将历史记录重新应用到新窗口小部件。

最好的解决方案是不破坏小部件。只需隐藏它然后重新显示它而不是破坏它并重新创建它。

以上是关于python 用Tkinter.Text设置了文本框之后如何获取输入内容的主要内容,如果未能解决你的问题,请参考以下文章

如何将Tkinter Text小部件的撤消/重做历史记录复制到另一个小部件中

如何在 tkinter Text 小部件中突出显示文本

tkinter Text 小部件不打印输入数据

tkinter Text() 小部件上的 4096 个单行字符限制?

tkinter text widget 第一节

从 Tkinter Text 小部件中获取所有内容 [重复]