Python中GUI框架指导,详解

本文介绍了Python中用于文本终端UI的框架,包括Curses、Npyscreen和Urwid。Curses提供基本的窗口和颜色支持,适合简单交互;Npyscreen基于Curses,提供更丰富的UI组件和自适应屏幕功能;Urwid是功能强大的文本UI框架,支持事件驱动和多种集成。这些框架在某些场景下仍具有实用价值。
摘要由CSDN通过智能技术生成

梳理几个常见的基于文本终端的 UI 框架,一睹为快!

Curses

首先出场的是 Curses[1]。

Curses 是一个能提供基于文本终端窗口功能的动态库,它可以:

 

  • 使用整个屏幕

  • 创建和管理一个窗口

  • 使用 8 种不同的彩色

  • 为程序提供鼠标支持

  • 使用键盘上的功能键

Curses 可以在任何遵循 ANSI/POSIX 标准的 Unix/Linux 系统上运行。Windows 上也可以运行,不过需要额外安装 windows-curses 库:

pip install windows-curses

上面图片,就是一哥们用 Curses 写的 俄罗斯方块游戏[2],是不感觉满满的回忆吧,可以拿去复活古董机了。

我们也来试试牛刀:

import curses
myscreen = curses.initscr()
myscreen.border(0)myscreen.addstr(12, 25, "Python curses in action!")myscreen.refresh()myscreen.getch()
curses.endwin()

  • 需要注意 addstr 前两个参数是字符坐标,不是像素坐标

  • getch 会阻塞程序,直到等待键盘输入

  • curses.endwin() 作用是退出窗口

  • 如果需要持续监听用户的交互,需要写个循环,并对 getch() 获得的输入进行判断

  • 代码运行效果如下:

 

Curses 非常轻巧,特别适合处理一下简单交互,代替复杂参数输入的程序,既优雅,有简单,而且 Curses 也是其他文字终端 UI 的基础。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PythonYL学习进阶

朋友,一起学习,请多多支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值