Форум сайта python.su
4kptВ начале программы приглашение к разговору -Говорите
sanodinПодробнее. Что Вы хотите поместить в текстовое поле? И как эти данные должны отображаться?
Отредактировано sanodin (Дек. 22, 2012 23:13:00)
Офлайн
Если я правильно понял, что Вы просите, то
import Tkinter import ScrolledText def analysis(event = None): user_text = text.get("current - 1l", "current - 1c") print user_text text.insert("current", u"Говорите\n") root=Tkinter.Tk() text = ScrolledText.ScrolledText(root) text["font"] = "Times New Romain", 14 text.insert("0.end", u"Говорите\n") text.bind("<KeyRelease-Return>", analysis) text.focus_force() text.pack() root.title("Say") root.mainloop()
Отредактировано 4kpt (Дек. 23, 2012 01:33:10)
Офлайн
Исходники
работает под виндой,для работы, в папке со скриптом, нужна программа sox.
работа без нажатия кнопок
Отредактировано sanodin (Дек. 23, 2012 07:44:58)
Прикреплённый файлы: Say.zip (79,6 KБ)
Офлайн
Я все равно не до конца понял, что Вы хотите получить :)
Но если я правильно понял, то…
import Tkinter import ScrolledText import time def sound(event = None): time.sleep(1) print u"Выполняем запрос к микрофону..." if event%5 != 0: print u"Пользователь молчит...\n" else: return (event) def get_data(event = None): i = 0 while 1: i += 1 print u"Посылаем запрос на снятие данных..." x = sound(i) if x != None and x%5 == 0 and x < 20 : print u"Пользователь сказал слово...\n" text.insert("current", u"Пользователь сказал слово через %s вызов" %x + u"\nГоворите\n") text.update() elif x == 20: break root=Tkinter.Tk() text = ScrolledText.ScrolledText(root) text["font"] = "Times New Romain", 14 text.insert("0.end", u"Говорите\n") text.after(1000, get_data) text.focus_force() text.pack() root.mainloop()
Отредактировано 4kpt (Дек. 23, 2012 15:31:13)
Офлайн
Спасибо 4kpt
def get_data(): global slovo while 1: slovo=Note.dictov() x=dgr() #text.delete('1.0',END) text.insert("current", u'You: ' + slovo.decode("cp1251")) text.insert("current", '\n') text.insert("current", u'Robot: ' + x) text.insert("current", '\n') text.insert("current",u"Robot: Говорите\n") text.update()
Отредактировано sanodin (Дек. 23, 2012 16:25:51)
Офлайн
Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…
Офлайн
4kptСейчас один способ попробую…
Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…
Отредактировано sanodin (Дек. 23, 2012 16:24:19)
Офлайн