Python中的GUI与TUI
我对用Python快速开发应用程序很感兴趣。因为这主要是为了做原型,所以我想找一种方法来创建“粗糙”的用户界面。我的意思是,这些界面不需要看起来很专业,只要足够灵活,能让我按照我想要的样子来设计就行。最开始我打算用图形用户界面(GUI),比如GTK来实现,但现在我开始考虑使用文本用户界面(TUI),比如ncurses。
创建图形用户界面和文本用户界面有什么区别呢?我是在pyGTK中创建界面更快,还是在Python的curses模块中更快呢?
2 个回答
0
如果你想简单地做一个图形界面(GUI)的样子,可以考虑使用一个轻量级的网页框架,比如flask。这样你可以使用很多常见的组件,比如按钮、下拉列表、文本框等等。在你专注于功能的时候,直接用普通的HTML就可以了,等到后面再加一些CSS让界面看起来更好看。
看看下面这个flask的“Hello world”应用(来自项目主页),和这个80行的pyGTK示例相比,差别就很明显了。
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
使用网页开发的方式,可以省去很多桌面应用程序开发时需要处理的繁琐工作。
0
pyGTK的功能远不止于curses。它还包含一个事件循环,这个功能很重要。如果你打算创建文本用户界面(TUI),至少应该使用一些类似的工具,比如urwid。