Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 程序暂停,直到用户输入文本并按下按钮_Python_Tkinter - Fatal编程技术网

Python 程序暂停,直到用户输入文本并按下按钮

Python 程序暂停,直到用户输入文本并按下按钮,python,tkinter,Python,Tkinter,我想有一个按钮来改变一些小部件的文本。用户将按下change_text按钮,启动主功能。然后,程序将等待,直到用户为条目提供文本,然后按下Enter按钮。目标_小部件将更改其文本,程序将继续 下面是一些与我正在编写的代码类似的代码: from Tkinter import * root = Tk() root.grid() CIN = StringVar(root) COUT = StringVar(root) entry = Entry(root, textvariable = CIN)

我想有一个按钮来改变一些小部件的文本。用户将按下change_text按钮,启动主功能。然后,程序将等待,直到用户为条目提供文本,然后按下Enter按钮。目标_小部件将更改其文本,程序将继续

下面是一些与我正在编写的代码类似的代码:

from Tkinter import *

root = Tk()
root.grid()

CIN = StringVar(root)
COUT = StringVar(root)

entry = Entry(root, textvariable = CIN)
prompt = Label(root, textvariable = COUT)
target_widget = Label(root, text = '')
enter_button = Button(root, command = proceed)
change_text_button = Button(root, command = change_text)

def change_text():
    COUT.set("Enter text to entry")
    # Wait until user presses enter_button
    input_text = CIN.get()
    target_widget['text'] = input_text

def proceed():
    # continue program
    pass 

change_text_button.grid(row=0, column=0)
enter_button.grid(row=0, column=1)
target_widget(row=0, column=2)
prompt.grid(row=1, column=0)
entry.grid(row=1, column=1)

root.mainloop()

如何让程序等待用户按下Enter键?

代码的第一个问题是,更改文本和继续函数是在小部件之后定义的,因此当解释器进行解析时,它不知道这些函数在哪里。只需将它们放在创建小部件之前

您遇到的第二个问题是,您正在绑定到grid target_小部件,但实际上您正在尝试使用相同的名称调用一个不存在的函数:

target_widget(row=0, column=2)
将其更改为:

target_widget.grid(row=0, column=2)
您还可以为调用回调的按钮使用一些文本。更改此项:

change_text_button = Button(root, command = change_text)
为此:

change_text_button = Button(root, text='Change Text Button', command = change_text)

更具启发性和可理解性。

你忘了问问题。