常规查看器

gviewer的Python项目详细描述


#通用查看器(gviewer)
[![构建状态](https://travis-ci.org/chhsiao90/gviewer.svg?branch=master)(https://travis ci.org/chhsiao90/gviewer)
[![覆盖状态](https://coveralls.io/repos/github/chhsiao90/gviewer/badge.svg?branch=master)(https://coveralls.io/github/chhsiao90/gviewer?branch=master)

**简单、重量轻、功能强大**
gviewer是一个终端ui库,它依赖于[urwid](https://github.com/urwid/urwid)简化了基于tui的报告系统的编写。
你可以编写一个强大的终端用户界面,用越来越少的代码显示和操作你想要的数据。


您可以看到并运行示例。

``shell
python examples/panama.py
````

类似于日志文件
使用eny类型的内容列表初始化
内容稍后将从gviewer import staticdatastore
data store=staticdatastore(data)
```

像订阅[zeromq]一样(http://zeromq.org/)publisher


``python
def register_func(on_消息):
some_listener.on_消息(on_消息)



````


displayer
>定义了如何将数据从数据存储显示到摘要/摘要/详细信息的显示方式



``python
``python
>来自gviewer导入basedisplayer,view,group,propsgroup,text,prop

mydisplayer类(basedisplayer):
def to_summary(self,message):

返回str或文本标记
引用:http://urwid.org/manual/displayattributes.html”

返回消息[”summary“]

def获取视图(self):
“返回包含视图标题的元组数组和将消息转换为详细信息的函数。”
返回[
(“view1”,self.view1),
(“view2”,self.view2),
]


def view1(self,消息):
“返回组”
返回视图(
[组(“title”,[消息[“view1”]]中的m的文本(m)]



def view2(self,消息):
“返回组”
返回视图(
[propsgroup(“title”,[属性(p[0],p[1])对于消息中的p[“view2”]]

```

显示程序)
viewer=gviewer(context)
viewer.start()
```

高级用法
摘要操作
将函数绑定到特定键以应用自定义操作,例如:从gviewer import gviewer导出
``python
,displayercontext
def custom_export(控制器、消息、小部件、*args,**kwargs):
打开(“导出”,“w”)为f:
f.write(str(message))
controller.notify(“文件是导出的”)


context=displayerContext(数据存储,显示,操作=操作([(“a”,“自定义导出”,custom_export))
viewer=gviewer(context)
````

``view actions
bind function to specific key to apply customize action,ex:export
```python
from gviewer import view,basedisplayer
class mydisplayer(basedisplayer):
def get_views(self):
return[(view,self.view)

def view(self,消息:
返回视图([],actions=actions([((“a”,“custom export”,self.custom戋export)))


def custom戋export(controller,message,*args,**kwargs):
打开(“export”,“w”)作为f:
f.write(str(message))
controller.notify(“file is export”)
````

内置操作
摘要
-/:搜索
-g:top
-g:bottom
-x:clear current item
-x:clear all items
-q:quit
-?:帮助

:帮助



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Slick2D鼠标单击在Windows 10中不起作用   java在多线程中使用titan graph的最佳实践是什么?   java以编程方式访问清单。主类MF   安卓区分对JavaSpring后端的web和本机应用程序请求   java StringTemplate getInstanceOf返回null   java InvalidDataAccessApiUsageException:未找到线程绑定请求:   编码在Java中只对查询键和参数进行url编码的最佳方法是什么?   java如何使用mavenjarplugin从自定义jar文件中排除METAINF文件夹   Java:引发异常后程序未崩溃   安卓如何通过文件名找到/res/raw文件夹中文件的资源id?   html Selenium Java与HTML5的拖放   java是否可以在不同的对象中使用单个输入?   java谷歌应用引擎cron作业后端   java如何将列表项的信息传递给新的列表活动?   java是否可以要求junit在进行测试之前运行一个命令?   在异常中提供附加信息的java可持续方法?   java可编辑JComboBox:使用快捷方式启动操作时获取当前值   java运行时错误“名称错误:applicationarbre/Main”   继承java如何获取超类方法来修改子类字段