pycmenu使用说明

来源:互联网 发布:网络五层模型每层功能 编辑:程序博客网 时间:2024/06/07 01:53

概述:

  pycmenu是一个自定义类,可在Windows控制台(CMD)中实现通过光标移动控制的菜单。V0.22版本后同时支持Python2和Python3。

  可以自定义菜单在窗口中的位置、菜单的背景色、菜单项之间的间隔行数。

  pycmenu需要WConio模块支持,WConio模块官方地址:http://newcenturycomputers.net/projects/wconio.html

项目地址:

  https://code.csdn.net/hymyg/pycmenu/tree/master 

版本更新:

  V0.1(只能用于Python2)

    实现基本功能。

  V0.2(只能用于Python2)

    在菜单实现整体背景色。

    实现完整宽度菜单条。

    show()方法增加interval_line参数,允许用户自定义菜单项之间间隔行数。

  V0.21(只能用于Python2)

    修复菜单项长度不一样时,菜单背景覆盖不齐的问题。

  V0.22(同时适配Python2、Python3)

    同时适配Python2和Python3

  V0.23

    新增 出于美观的目的,在菜单的上方和下方各增加了一个空行

    新增 美观的目的,给菜单添加了阴影的效果。如果你整个窗口的背景色是黑色,这个效果可能显示不出来。

    说明:很抱歉,我的Python3的版本升级到了3.6,而WConio模块目前并没有支持3.6的版本,我没能在Python3上测试这个版本,所以我不确定这个版本在Python3上运行没有问题。

安装:

  将pycmenu.py文件复制到python2安装路径下的Lib\site-packages目录中。

示例:

  我使用的是python2.7.12,安装目录是C:\Program Files (x86)\python\Python27,将pycmenu.py文件复制到C:\Program Files (x86)\python\Python27\Lib\site-packages路径下即可

使用说明:

pycmenu(col,row,menulist,color=15)

说明:

  定义类实例

参数:

  col     菜单开始列的列座标  row     菜单开始行的行座标  menulist  这是一个列表,里面包括菜单内容  color    菜单的前景色和背景色,数值为0-255,具体颜色的定义可参见WConio.textattr(),缺省为15,或以下图示。

color值对应颜色图示

示例1:

import pycmenumymneu=pycmenu.pycmenu(10,8,[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4'],color=15)     #color=15可缺省或由用户自定义

示例2:

import pycmenumenulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']mymneu=pycmenu.pycmenu(10,8,menulist,color=15)  #color=15可缺省,或由用户自定义

示例3:

from pycmenu import *                                           #使用from……import……格式导入模块时可以直接调用模块中的对象menulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']mymenu=pycmenu(10,8,menulist,color=15)

show(interval_line=1)

说明:在屏幕上显示菜单

参数:

    interval_line  菜单项之间的间隔行数,默认为1

示例:

mymenu.show()

示例2:

mymenu.show(2)

active()

说明:

  激活菜单,并可由用户通过光标键移动光标选择菜单项。按下回车确认,并返回菜单号。
菜单号根据menulist列表中元素顺序确认,返回0代表第一个菜单项,返回1代表第二个菜单项,以此类推。

示例:

mymenu.active()

完整示例:

#-*-coding:utf-8-*-from pycmenu import *menulist=[u'1.完整示例测试菜单1',u'2.完整示例测试菜单2',u'2.完整示例测试菜单3',u'4.完整事例测试菜单4']mymenu=pycmenu(15,5,menulist,47)mymenu.show()mymenu.active() 

执行结果展示:
完整示例执行结果展示

0 0
原创粉丝点击