从文本框中获取文本并在Python 2.7中使用它

时间:2017-03-28 15:13:46

标签: python python-2.7 tkinter textbox

我在编程方面很新,所以我不了解很多基础知识。我到处尝试搜索,但没有得到我需要的答案。
在这个网站上我发现了类似的问题,但它适用于Python3 我可以改为python 3解释器,但由于语法原因,我不得不重写代码。

无论如何,我的问题是,我想在文本框中写下文本,我需要将其用于使用(例如打印出来或在linux命令中将其用作名称)。
我尝试了raw_input,甚至试图添加.get commands
.get对我不起作用,输入或raw_input输入什么都不做,他们不打印文本,我的编程卡住了

我的代码

def filtras():
    root = Tk()
    root.title("Filtravimas pagal uzklausa")
    root.geometry("300x100")
    tekstas = Text(root, height=1, width=15).pack(side=TOP)
    virsus = Frame(root)
    virsus.pack()
    apacia = Frame(root)
    apacia.pack(side=BOTTOM)
    myg1 = Button(virsus, text="Filtruoti", command=lambda: gauti())
    myg1.pack(side=BOTTOM)

def gauti():
    imti=input(tekstas)
    print(imti)

1 个答案:

答案 0 :(得分:1)

你的问题是这一行中的一个常见错误:

tekstas = Text(root, height=1, width=15).pack(side=TOP)

.pack.grid等几何方法返回None,None.get不起作用。而是像对帧和按钮那样做。

tekstas = Text(root, height=1, width=15)
tekstas.pack(side=TOP)

现在tekstas.get()和其他Text方法都可以。

此代码未触及2< => 3种语法更改。唯一的问题是名称Tkintertkinter以及其他模块名称更改。

请阅读MCVEs。 “文本”小部件之后的所有内容都只是与您的问题相关的噪音。

inputraw_inputstdin获取字符,这通常是终端。除了开发和调试之外,不要将它们与GUI程序一起使用,只有在从终端或IDLE或其他IDE运行GUI程序时才使用它们。同上print