1

我正在尝试使用Text小部件实现命令控制台。在下面的代码中,当我点击“return”键时,插入提示后光标移动到下一行。我无法在提示符处设置光标位置。我尝试捕获 x,y 坐标,但也无济于事。

from Tkinter import *

def getCommand(*args):
    global text
    x_pos = text.xview()[0]
    y_pos = text.yview()[0]
    text.insert(END, "\n")
    text.insert(END, "command>")

root = Tk()
text = Text(root)
text.pack()
text.insert(END,"command>")
text.focus()
text.bind("<Return>",getCommand)

root.mainloop()
4

1 回答 1

1

返回'break'将阻止<Return>回调返回后正常处理。

试试下面的代码。

def getCommand(*args):
    global text
    x_pos = text.xview()[0]
    y_pos = text.yview()[0]
    command = text.get('insert linestart', 'insert').replace('command>', '', 1)
    print command
    text.insert(END, "\n")
    text.insert(END, "command>")
    return 'break'
于 2013-08-07T03:55:07.237 回答