在 Win 控制台中实现菜单

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

本教室的 hymyg 同学实现了两个控制台下的实用模块,发在了论坛上。我觉得挺不错的,于是分享其中的一个给大家。对项目感兴趣,想进一步了解细节的,可以在公众号里回复“控制台菜单”,获取项目地址,或在论坛的帖子下给  hymyg 留言。


概述


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


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


pycmenu需要WConio模块支持,要先下载安装WConio模块,官方地址:

http://newcenturycomputers.net/projects/wconio.html

说明:很抱歉,我的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,缺省为15。具体颜色的定义可参见WConio.textattr(),或以下图示


640.png


示例1:


import pycmenu
mymneu=pycmenu.pycmenu(10,8,[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4'],color=15)


示例2:


import pycmenu
menulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']
mymneu=pycmenu.pycmenu(10,8,menulist,color=15)


示例3:


from pycmenu import *
menulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']
mymenu=pycmenu(10,8,menulist,color=15)


show(interval_line=1)


说明:


在屏幕上显示菜单


参数:


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


示例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'3.完整示例测试菜单3',u'4.完整事例测试菜单4']
mymenu=pycmenu(15,5,menulist,47)
mymenu.show()
item=mymenu.active() 
print(item)


执行结果展示:






近期文章推荐阅读:

我扒了杜蕾斯的微博

数据分析:当赵雷唱民谣时他唱些什么?

Python 爬虫爬取美剧网站

个人开发者如何申请微信小程序

今天,你抢到票了吗?

爆款游戏《贪吃蛇大作战》的 Python 实现

相关文章
|
11月前
|
Linux C语言 C++
C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(一)
C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(一)
109 0
|
供应链 Java
Java初学者作业——为某超市设计管理系统,需要在控制台展示系统菜单,菜单之间可以完成跳转。
Java初学者作业——为某超市设计管理系统,需要在控制台展示系统菜单,菜单之间可以完成跳转。
386 0
Java初学者作业——为某超市设计管理系统,需要在控制台展示系统菜单,菜单之间可以完成跳转。
|
C语言 索引
C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(二) ---学生信息管理系统
http://blog.csdn.net/morixinguan/article/details/77485367 上节,我们写了一个简单的列表框架,是关于学生信息管理系统的,这节,我们来把它尽量的完善一下。
1339 0
|
Linux C语言 索引
C语言实现一个Window控制台带彩色,且可以用方向键选择并确认的菜单式列表(一)
在Linux的编程里,管理列表的形式,我们可以使用VT100控制码来进行实现。因为VT100控制码在printf函数中就可以设置显示的行和列,这样实现一个列表选择的GUI界面就非常容易。比如Linux内核中的Make menuconfig。
1984 0
|
3月前
|
Java
java实战项目超市管理系统控制台版
java实战项目超市管理系统控制台版
|
3月前
|
Java
【Java开发指南 | 第二十篇】Java流之控制台
【Java开发指南 | 第二十篇】Java流之控制台
31 2
|
3月前
|
XML 监控 Dubbo
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
Dubbo03【管理控制台和监控中心搭建】,Java开发实用必备的几款插件
|
3月前
|
存储 Java 关系型数据库
景区特色商品管理系统【控制台+MySQL】(Java课设)
景区特色商品管理系统【控制台+MySQL】(Java课设)
41 1
|
3月前
|
存储 Java 关系型数据库
银行储蓄管理系统【控制台+MySQL】(Java课设)
银行储蓄管理系统【控制台+MySQL】(Java课设)
31 1
|
3月前
|
存储 Java 关系型数据库
员工信息管理系统【控制台+MySQL】(Java课设)
员工信息管理系统【控制台+MySQL】(Java课设)
38 0
员工信息管理系统【控制台+MySQL】(Java课设)