WEB开发网
开发学院软件开发Python 可爱的 Python:Curses 编程 阅读

可爱的 Python:Curses 编程

 2007-03-29 11:59:25 来源:WEB开发网   
核心提示: 根据由空行隔开的三部分,很容易理解 main() 函数,可爱的 Python:Curses 编程(5),第一部分执行应用程序外观的常规设置,为了建立应用程序元素之间的可预期间隔,处理程序的关键部分很可能使用以下这行代码:c = screen.getch()# read a keypress

根据由空行隔开的三部分,很容易理解 main() 函数。

第一部分执行应用程序外观的常规设置。为了建立应用程序元素之间的可预期间隔,交互式区域限制在 80 x 25 VT100/PC 屏幕大小(即使实际的终端窗口更大)。程序围绕这个子窗口绘制一个框,并使用水平线画出顶栏菜单的视觉偏移量。

第二部分建立应用程序所使用的菜单。函数 topbar_menu() 使用一些技巧将热键绑定到应用程序操作并用期望的视觉属性来显示菜单。请获取源码档案(请参阅 参考资料 )以查看所有代码。 topbar_menu() 应该是非常普通的。(欢迎将它合并到您自己的应用程序中。)非常重要的是一旦绑定了热键,它们就 eval() 与菜单相关的字节组第二个元素中包含的字符串。例如,激活以上设置中的 "File" 菜单将调用 "eval("file_func()")"。所以就要求应用程序定义叫做 file_func() 的函数,要求它返回一个布尔 (Boolean) 值以表示是否达到应用程序终止状态。

第三部分只有两行,但这正是整个应用程序实际运行的部分。函数 topbar_key_handler() 就像它的名称所暗示的:它等待击键,然后处理它们。击键处理程序可以会返回 Boolean false 值。(如果是这样,则应用程序终止。)该应用程序中,键处理程序主要是检查第二段中绑定的键。但即使您的 curses 应用程序绑定键的方式与该应用程序不同,您仍要使用类似的事件循环。处理程序的关键部分很可能使用以下这行代码:

c = screen.getch()# read a keypress

对 draw_dict() 的调用只是事件循环中唯一的代码。此函数绘制了 screen 窗口中几处位置中的值。但在应用程序中,您可能想要将以下这行代码:

screen.refresh()  # redraw the screen w/ any new output

上一页  1 2 3 4 5 6 7  下一页

Tags:可爱 Python Curses

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接