Найти - Пользователи
Полная версия: Запуск гуи до начала программы
Начало » GUI » Запуск гуи до начала программы
1 2
sanodin
4kpt
sanodinПодробнее. Что Вы хотите поместить в текстовое поле? И как эти данные должны отображаться?
В начале программы приглашение к разговору -Говорите
Отображение того что сказал я
Вывод того что ответила программа
Опять приглашение - Говорите
4kpt
Если я правильно понял, что Вы просите, то
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()
Вопрос поставлен очень сумбурно, посему я прошу прощения, если что не так…
sanodin
Исходники
работает под виндой,для работы, в папке со скриптом, нужна программа sox.
работа без нажатия кнопок
4kpt
Я все равно не до конца понял, что Вы хотите получить :)
Но если я правильно понял, то…
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()
sanodin
Спасибо 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()
так все работает
осталось побороть функцию dgr() ,выводит в поле только после того как ответит словами(программа)
хотелось бы что бы вывод был по мере появления слов в программе и вместе с тем звучал голос…





4kpt
Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…
sanodin
4kpt
Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…
Сейчас один способ попробую…
Все,убрал все speech.say и оставил один в самой функции get_data()
Спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB