Python:如何显示具有自定义内容、无小部件和无事件循环的大型wndow

Python:如何显示具有自定义内容、无小部件和无事件循环的大型wndow,python,python-2.7,user-interface,Python,Python 2.7,User Interface,我想教我的孩子,如何快速阅读音节。为此,我打算编写一个程序,在屏幕上按顺序显示音节,等待麦克风输入以记录音节的发音。稍后我会检查录制的声音是否与音节对应 我知道如何用Python检测和记录口语。我的问题是不同的,我相信很简单:如何制作一个包含自定义文本的非模态大窗口 我知道这个问题对于任何一个对Python有一定经验的人来说都是非常愚蠢的,但这将是我很长一段时间以来第一次尝试UI(我不久前在VB6上做了一些),我完全没有经验如何做,我想用简单而肮脏的方式来做。我不需要一个带有菜单、小部件和其他东

我想教我的孩子,如何快速阅读音节。为此,我打算编写一个程序,在屏幕上按顺序显示音节,等待麦克风输入以记录音节的发音。稍后我会检查录制的声音是否与音节对应

我知道如何用Python检测和记录口语。我的问题是不同的,我相信很简单:如何制作一个包含自定义文本的非模态大窗口

我知道这个问题对于任何一个对Python有一定经验的人来说都是非常愚蠢的,但这将是我很长一段时间以来第一次尝试UI(我不久前在VB6上做了一些),我完全没有经验如何做,我想用简单而肮脏的方式来做。我不需要一个带有菜单、小部件和其他东西的花哨用户界面。只有一个大的空白窗口,有自定义文本,没有控件和事件循环


我正在寻找这样的东西:

whdl=ShowWindow(text,fontsize)
#do my stuff    
Close(whdl)

下面是一个脚本,它展示了一种方法,使用。脚本按顺序显示了几个“单词”,但你可以随意修改,让它做任何你喜欢的事情。(如果您这样做,我怀疑最终您会希望使用通常的GUI事件循环,以便可以处理按键、鼠标单击等操作。)


查看
tkinter
。它是“内置”python GUI工具包。你应该能找到大量的初学者教程。你自己做过研究吗?你发现了什么?是什么让你对你的发现感到困惑?@IgnacioVazquez Abrams是的。也许最好的方法是制作一些自定义位图并用图片查看器显示它?但我想还有更简单的方法。@MartijnPieters每当我搜索时,我都会找到一个包含小部件的完整GUI。但我想要的是非常简单的:只需呈现一个静态窗口,然后隐藏它。不需要用户交互。这仍然是“真正的GUI东西”。哇!你知道吗,我一开始在同一个框架中做了或多或少相同的事情,pygame!!我正要用我可怜的Python补丁自我回复。太糟糕了,我在这方面损失了4个小时,但至少我在Eclipse上了解了一点PyDev。另外,你的解决方案比我的更干净、更简单。
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"