通过滚动窗口阅读输入文本?

| 我已经使用pyGTK创建了一个滚动窗口。当我在滚动窗口中键入一些文本时,该键入的文本必须写在文件中。我有一个可以写入文件的功能。但是当我在滚动窗口中键入一些文本时,必须调用该函数。如果有人建议我的解决方案将非常有帮助。     
已邀请:
import glib, gtk

saveFilePath = \'textview.txt\'

isChanged = True

def onBufferChanged(b):
    global isChanged
    isChanged = True

def onTimeout():
    if isChanged:
        text = textbuff.get_text(textbuff.get_start_iter(), textbuff.get_end_iter())
        open(saveFilePath, \'w\').write(text)
        isChanged = False
    return True ## Continue loop

textview = gtk.TextView()
textbuff = textview.get_buffer()
textbuff.connect(\'changed\', onBufferChanged)
glib.timeout_add_seconds(1, onTimeout)

dialog = gtk.Dialog()
dialog.vbox.pack_start(textview, 1, 1)
dialog.vbox.show_all()
dialog.run()
    
您应该在输入文本时订阅文本区域的更改事件,然后安排并执行每隔1秒钟将文本保存到文件的功能,以便在键入文本时自动保存。或者您可以有一个后台线程来监视该控件的状态,并以1秒的延迟定期保存它,以便于执行此操作。我认为线程方式更正确     

要回复问题请先登录注册