Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Запуск гуи до начала программы [RSS Feed]

#1 Дек. 22, 2012 23:12:26

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

4kpt
sanodinПодробнее. Что Вы хотите поместить в текстовое поле? И как эти данные должны отображаться?
В начале программы приглашение к разговору -Говорите
Отображение того что сказал я
Вывод того что ответила программа
Опять приглашение - Говорите

Отредактировано sanodin (Дек. 22, 2012 23:13:00)

Офлайн

#2 Дек. 23, 2012 01:28:54

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

Если я правильно понял, что Вы просите, то

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)

Офлайн

#3 Дек. 23, 2012 07:39:16

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

Исходники
работает под виндой,для работы, в папке со скриптом, нужна программа sox.
работа без нажатия кнопок

Отредактировано sanodin (Дек. 23, 2012 07:44:58)

Прикреплённый файлы:
attachment Say.zip (79,6 KБ)

Офлайн

#4 Дек. 23, 2012 13:18:50

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

Я все равно не до конца понял, что Вы хотите получить :)
Но если я правильно понял, то…

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)

Офлайн

#5 Дек. 23, 2012 16:03:25

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

Спасибо 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() ,выводит в поле только после того как ответит словами(программа)
хотелось бы что бы вывод был по мере появления слов в программе и вместе с тем звучал голос…





Отредактировано sanodin (Дек. 23, 2012 16:25:51)

Офлайн

#6 Дек. 23, 2012 16:11:23

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…



Офлайн

#7 Дек. 23, 2012 16:18:53

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

Запуск гуи до начала программы

4kpt
Я не вникал в Ваш код, но попробуйте метод .after() внутри dgr()…
Сейчас один способ попробую…
Все,убрал все speech.say и оставил один в самой функции get_data()
Спасибо

Отредактировано sanodin (Дек. 23, 2012 16:24:19)

Офлайн

  • Начало
  • » GUI
  • » Запуск гуи до начала программы[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version