【发布时间】:2012-01-15 09:56:52
【问题描述】:
我想继续关注输入文本小部件,它会将输入的任何内容传递到单独的显示文本小部件中。我有那部分工作。
我不知道如何做到这一点,以便当有人单击显示文本小部件时,单击的行会突出显示(或该行更改背景颜色),但焦点会返回到条目小部件。我还需要存储对该行的引用,以便我可以使用其他小部件对其进行操作。
这里有一些示例代码,您可以了解我目前的情况。我现在在 GUI 中有更多小部件和代码,但我只将相关代码发布到我的问题:
from Tkinter import *
class GUI:
def __init__(self,root):
Window = Frame(root)
self.OutWidget = Text(Window, state='disabled')
self.InWidget = Text(Window,bg='black',bd=3,fg='white',exportselection=0,height=1,wrap=WORD,insertofftime=0,insertbackground="white")
self.OutWidget.pack()
self.InWidget.pack()
Window.pack()
self.InWidget.focus_set()
self.OutWidget.bind("<Button 1>",self.Select)
self.InWidget.bind("<Return>", self.Post)
def Post(self,event):
text = self.InWidget.get(1.0,2.0)
self.InWidget.delete(1.0,2.0)
self.OutWidget['state'] = ['normal']
self.OutWidget.insert('end',text)
self.OutWidget['state'] = ['disabled']
return ("break")
def Select(self,event):
#highlight the CURRENT line
#store a reference to the line
#return focus to InWidget
self.InWidget.focus()
return ("break")
if __name__ == '__main__':
root = Tk()
App = GUI(root)
root.mainloop()
【问题讨论】: