나는 내 아이에게 음절로 빨리 읽는 법을 가르치고 싶습니다. 이를 위해 화면에 음절을 순차적으로 표시하는 프로그램을 작성하려고합니다.이 프로그램은 마이크 입력이 녹음 될 때까지 기다립니다. 음절이 어떻게 발음되는지. 나중에 녹음 된 음성이 음절과 일치하는지 확인합니다.
나는 파이썬으로 말한 단어를 감지하고 녹음하는 방법을 알고 있습니다. 내 문제는 다르며 매우 간단하다고 생각합니다. 사용자 지정 텍스트가있는 비 모달 큰 창을 어떻게 만드나요?
나는 파이썬에 대한 적당한 경험을 가진 사람에게도 질문이 매우 어리석게 들릴 것이라는 것을 알고 있지만, 이것은 오랫동안 UI에 대한 나의 첫 번째 시도가 될 것입니다 (저는 얼마 전에 VB6에서 몇 가지를 수행했습니다). 쉽고 더러운 방법으로하고 싶습니다. 메뉴, 위젯 등이있는 멋진 UI가 필요하지 않습니다. 사용자 지정 텍스트와 컨트롤 및 이벤트 루프가없는 큰 빈 창입니다.
나는 다음과 같은 것을 찾고 있습니다.
whdl=ShowWindow(text,fontsize)
#do my stuff
Close(whdl)
다음은 pygame을 사용하여이를 수행하는 한 가지 방법을 보여주는 스크립트입니다 . 스크립트는 여러 개의 "단어"를 순서대로 보여 주지만 원하는대로 수행하도록 해킹 할 수 있습니다. (그렇게한다면 결국에는 일반적인 GUI 이벤트 루프를 사용하여 키 누름, 마우스 클릭 등을 처리 할 수 있습니다.)
import os
import time
import pygame
# Center the Frame in the screen.
os.environ['SDL_VIDEO_CENTERED'] = '1'
BG_COLOR = (224, 255, 255)
TEXT_COLOR = (0, 0, 255)
SIZE = (800, 360)
def show_window(text, font, screen):
rendered_text = font.render(text, True, TEXT_COLOR)
screen.fill(BG_COLOR)
screen.blit(rendered_text, ((SIZE[0] - rendered_text.get_width()) // 2,
(SIZE[1] - rendered_text.get_height()) // 2))
pygame.display.flip()
pygame.init()
screen = pygame.display.set_mode(SIZE)
font = pygame.font.SysFont("comicsansms", 200)
words = ['foo', 'bar', 'baz']
for word in words:
show_window(word, font, screen)
# Replace the following `sleep` call with your stuff.
time.sleep(3)
pygame.quit()
print "done"
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다