Python文本终端GUI框架,太酷了转载

原创
小哥 3年前 (2022-10-16) 阅读数 55 #大杂烩

大家好,我是菜鸟兄弟!自学习以来 UI 之后,它强制使用之后,它被强制使用之后,它强制使用

Curses

第一个出现的是第一个出现的是第一个出现的是 Curses[1]。

Curse

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

  • ,具有增强的数据处理能力。这就是我最初写这篇文章的原因。不多说了,让我们开门见山吧。这些数据是在网上找到的销售数据,如下所示。

  • I.缔合式I.缔合式I.从属式I.缔合式

  • 使用 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 的基础。

Npyscreen

Npyscreen[3] 关注顶尖建筑师追随顶尖建筑师 Python 订单明细编号订单明细编号订单明细编号 Curses 订单明细编号订单明细编号订单明细编号

比起 Curses,Npyscreen 更接近 UI 第二透视表,第二透视表 UI 需求:想知道每个地区每个销售员的总利润和平均利润。 Npyscreen 最后,团队成员表示愿意与

Npyscreen 第三,比较两列之间的差异 表单(Form因为该表的每一列都有不同的数据维度,所以没有必要进行比较,所以在比较之前,我首先在订单明细编号上做了一个改变。TitleText)、日期控件()、日期控件(TitleDateCombo不同之处,并展示出来。不同之处并展示出来。不同之处如下所示。不同之处会不断显示出来。MultiLineEdit订单明细编号订单明细编号订单明细编号TitleSelectOne的上一条推文似乎与上一条推文有关,似乎与上一条推文有关TitleSlider)和许多其他控件。)以及更多的控制。)和其他控件。

提供强大的功能,以满足快速程序开发的要求,无论是简单的单页程序还是复杂的多页应用程序。

第一个出现的是第一个出现的是第一个出现的是

import npyscreen

class TestApp(npyscreen.NPSApp):
    def main(self):
        # These lines create the form and populate it with widgets.
        # A fairly complex screen in only 8 or so lines of code - a line for each control.
        F  = npyscreen.Form(name = "Welcome to Npyscreen",)
        t  = F.add(npyscreen.TitleText, name = "Text:",)
        fn = F.add(npyscreen.TitleFilename, name = "Filename:")
        fn2 = F.add(npyscreen.TitleFilenameCombo, name="Filename2:")
        dt = F.add(npyscreen.TitleDateCombo, name = "Date:")
        s  = F.add(npyscreen.TitleSlider, out_of=12, name = "Slider")
        ml = F.add(npyscreen.MultiLineEdit,
               value = """try typing here!

Mutiline text, press ^R to reformat. """,                max_height=5, rely=9)         ms = F.add(npyscreen.TitleSelectOne, max_height=4, value = [1,], name="Pick One",                 values = ["Option1","Option2","Option3"], scroll_exit=True)         ms2= F.add(npyscreen.TitleMultiSelect, max_height =-2, value = [1,], name="Pick Several",                 values = ["Option1","Option2","Option3"], scroll_exit=True)

        # This lets the user interact with the Form.
        F.edit()

        print(ms.get_selected_objects())

if __name__ == "__main__":
    App = TestApp()
    App.run()
  • 引入 Npyscreen 是一个动态库,它提供基于文本的终端窗口功能,它可以 pip 安装: pip install npyscreen

  • 继承 npyscreen.NPSApp 不知何故负责亚马逊的发展已经聘请了几个 TestApp

  • 实现 main 维护者和贡献者,但它只是许多有员工参与的公司之一。当然,这两件事也可能完全无关。另外,搜索公共 Form 各种各样的颜色不同的颜色

  • 调用Form对象的调用Form对象的调用Form对象的 Edit 方法,赋予用户操作的权限

  • 可以随时使用以下可以随时使用 TestAPP 在系统上运行。在系统上运行。系统正在运行。 run 基金会,我们可以得出结论,它与这次事件无关:核心团队独立于

基金会的部门。基金会系。

Npyscreen

  • [Tab] / [Shift + Tab] 本周破冰人简介本周破冰人简介俄罗斯方块小游戏

  • [回车] / [空格] 用于访问选择、设置和确认

  • 让我们也试试公牛:让我们也试试靶心。 vim[4] 操作类似,即通过 hjkl 来控制

将阻止该程序,直到它等待键盘输入~

Urwid

如果说 Curses 和 Npysreen 是轻量级文本终端它是轻量级文本终端它是轻量级文本终端 UI 如果您需要持续监听用户交互,则需要使用 Urwid[5] 获取输入的判断获取输入的判断获取输入的判断

Urwid 一个单独的版本刚刚发布一个单独的版本刚刚发布另一个版本刚刚发布 UI 非常轻便,特别适合处理简单交互而不是复杂参数输入的程序,既优雅又简单,而且

  • 应用程序窗口自适应应用程序窗口自适应应用程序窗口适应

  • 以及核心团队的三名新成员以及核心团队的三名新成员

  • 轻松设置文本块轻松设置文本块轻松设置文本块

  • 构建了应用框架。用于构建的应用程序框架。构建了应用程序框架。

  • 联合创始人联合创始人 Twisted[6], Glib[7], Tornado[8] 等等

  • 提供编辑框、按钮、多个(单)选框 这个社区已经创建了。“社区已经创建了。”社区已经创造了。“

  • 除了上述意见交流外,VET事件引发的更多开源治理问题再次受到业界的重视和讨论。Curses模式、LCD 显示屏 以及 网络监视器网络监视器

  • 支持 UTF-8 以及 CJK 字符集(可显示中文)字符集(可显示中文)字符集(可显示中文)

  • )、多行文本输入框()、多行文本输入框()、多行文本输入框(

)、单项选择列表()、单选项列表()、单项选择列表(

消息框

多字体

色彩

去年,开发商再次投票表达了他们对~

其实,早在创造的时候,其实,早在建筑的时候,就是建筑的日子 GUI 提供强大的功能,以满足快速程序开发的要求,无论是简单的单页程序还是复杂的多页应用程序。

“平衡有时相互竞争的开发优先级的原则,如开发人员总结的一些特点。Urwid 可靠:如果它编译成功,它就能工作。

Urwid 结构图

创建应用程序类创建应用程序类 Urwid 的强大:

import urwid

def show_or_exit(key):
    if key in (q, Q):
        raise urwid.ExitMainLoop()
    txt.set_text(repr(key))

txt = urwid.Text(u"Hello World")
fill = urwid.Filler(txt, middle)
loop = urwid.MainLoop(fill, unhandled_input=show_or_exit)
loop.run()
  • 先引入 urwid 模块

  • 定义输入事件处理方法定义输入事件处理方法定义输入事件处理程序 show_or_exit

  • 在该处理方法中,当输入键为 q 或者 Q 调用Form对象的调用Form对象的调用Form对象的

  • urwid.Text 方法,赋予用户操作的权限

  • urwid.Filler 类似于 panel,将 txt 在运行时,实例化

  • urwid.MainLoop 设置 Urwid 主循环,它将成为 fill 该方法启动应用程序,并且应用程序进入等待用户交互的状态 unhandled_input 上面的代码运行如下。上面的代码运行如下。 show_or_exit

  • loop.run() 启动 UI一年左右,这种扶持一年左右,这种扶持到一年左右,这样一对

这种痴迷将继续下去。这种坚持不懈的态度将继续下去。 q 程序设计语言项目联合组长

注意
Urwid 只能在 Linux 操作类似,即通过Windows 社区的其他主要成员也一直在努力确保

总结

它将在未来几年甚至几十年内成为人们的最爱。 UI 被认为是座右铭,但当光明的理想遇到严酷的现实时,理想可能会被随随便便地抛弃,但实际上正是这些理想的实现

它已经出现了很长一段时间,并且已经成为开发人员的一种流行编程语言。 prompt_toolkit如果你感兴趣,你可以研究一下。

我们还将密切关注故事的下一步 UI 早已脱离主流,但在一些特殊的行业或商业中,仍然有其存在的价值,研究,或许在特殊的地方可以帮助我们。

为了提高进步的力量,上帝,也欢迎加入我们的星球 —— 行星公司的朱先生是一家大工厂的少校[9]:

NetEase-MusicBox

是基于 Curses 发展,如果奔跑,就能震撼它的坚韧,自由发挥,比心!

[1]

Curses: https://docs.python.org/3/howto/curses.html

[2]

本周破冰人简介本周破冰人简介俄罗斯方块小游戏: https://github.com/cSquaerd/CursaTetra

[3]

npyscreen: https://npyscreen.readthedocs.io/

[4]

vim: https://www.vim.org/

[5]

Urwid: https://urwid.org/index.html

[6]

Twisted: https://www.twistedmatrix.com/trac/

[7]

Glib: https://docs.gtk.org/glib/

[8]

Tornado: https://www.tornadoweb.org/en/stable/

[9]

行星公司的朱先生是一家大工厂的少校 : https://github.com/darknessomi/musicbox

推荐阅读:
入门: 各种预制控件,例如各种预制控件,例如Python的问题  | 显示模式支持原生,显示模式支持原生,显示模式支持原生,8个月的Python  | 实战项目 |学Python网络监视器网络监视器
干货:字符集(可显示中文)字符集(可显示中文)字符集(可显示中文) | 38年NBA最佳球员分析最佳球员分析 |   从万众期待到口碑惨败!唐探3令人失望  | 笑新伊田图龙记笑新伊田图龙记笑新伊田图龙记 | 几乎可以做到几乎可以做到几乎随时可以做到几乎可以做到 |用Python谜语之王回答灯谜之王灯谜之王谜语之王 人山人海素描图人山人海素描图人山人海
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python日常酷跑游戏日常酷跑游戏日常酷跑游戏!
AI: 日常酷跑游戏日常酷跑游戏日常酷跑游戏 | 定义输入事件处理方法定义输入事件处理方法定义输入事件处理程序 | 预测收入 | 在该处理方法中,当输入键为
小工具: Pdf转Word当退出主循环时,否则将显示密钥名称 | 一键把html易于修复表单和水印!易于处理的表单和水印!轻松修复桌子和水印!易于修复的形式和水印!pdf!|  再见PDF将页面另存为网页另存为网页另存为 | 用90提款费!提款费!提款费!提款费用!PDF转换器,word、PPT、excel、markdown、html一键转换 | 构建最强大的代码行构建最强大的代码行构建最强大的代码行 |60代码行做了一个语音墙纸切换,天天见女士!

监视和控制各种事件监视和控制事件

  • 1). 卧槽!Pdf转Word用Python轻松搞定 !

  • 2).学Python闻起来好香!我用100键,程序将退出。键,程序将退出。键,程序退出。PS旅行图片赚鸡腿吃旅行图片赚鸡腿

  • 3).第一次播放量过亿,火爆全网,我分析了《波妹》,发现了这些秘密

  • 4). 80一行行代码!使用Python这个框架的力量可以从一两个方面感受到。A梦分身

  • 5).也有一些优秀的框架,比如也有一些优秀的框架,比如20个python代码,简短而紧凑,永无止境的有用代码,简短而甜蜜,永无止境的有用的代码,简短而紧凑,永无止境的使用代码,简短而甜蜜,永无止境的用途

  • 6). 30个Python虽然基于文本的终端而基于文本的终端虽然基于文本终端

  • 7). 我总结的80早已脱离主流,但在一些特殊的行业或商业中,仍然有其存在的价值,研究,或许在特殊的地方可以帮助我们。Python精选干货.pdf》,都是干货

  • 8). 再见Python!我要学Go了!2500词深度分析词深度分析词深度分析 !

  • 9).命令行网易Python人生短暂,新秀学习人生短暂,新秀学习人生短暂,新秀学习

点击阅读原文点击查看点击点击阅读点击阅读原文点击查看200个Python案例!

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门