前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在 Win 控制台中实现菜单

在 Win 控制台中实现菜单

作者头像
Crossin先生
发布2018-04-17 14:37:14
9580
发布2018-04-17 14:37:14
举报

本教室的 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)

说明:

定义类实例

参数:
代码语言:javascript
复制
col      菜单开始列的列座标
row      菜单开始行的行座标
menulist 这是一个列表,里面包括菜单内容
color    菜单的前景色和背景色,数值为0-255,缺省为15。具体颜色的定义可参见WConio.textattr(),或以下图示
示例1:
代码语言:javascript
复制
import pycmenu
mymneu=pycmenu.pycmenu(10,8,[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4'],color=15)
示例2:
代码语言:javascript
复制
import pycmenu
menulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']
mymneu=pycmenu.pycmenu(10,8,menulist,color=15)
示例3:
代码语言:javascript
复制
from pycmenu import *
menulist=[u'菜单项1',u'菜单项2',u'菜单项3',u'菜单项4']
mymenu=pycmenu(10,8,menulist,color=15)

show(interval_line=1)

说明:

在屏幕上显示菜单

参数:
代码语言:javascript
复制
interval_line  菜单项之间的间隔行数,默认为1
示例1:
代码语言:javascript
复制
mymenu.show()
示例2:
代码语言:javascript
复制
mymenu.show(2)

active()

说明:

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

示例:
代码语言:javascript
复制
mymenu.active()

完整示例:

代码语言:javascript
复制
#-*- 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)

执行结果展示:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 安装
    • 示例:
    • 使用说明
      • pycmenu(col,row,menulist,color=15)
        • 说明:
        • 参数:
        • 示例1:
        • 示例2:
        • 示例3:
      • show(interval_line=1)
        • 说明:
        • 参数:
        • 示例1:
        • 示例2:
      • active()
        • 说明:
        • 示例:
    • 完整示例:
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档