Python curses菜单不起作用

接待_

试图获得一个真正基本的诅咒菜单。我一直在学习一个教程,但是我已经开始做自己的事情了。我试着用评论触及所有内容。我只想弄清楚如何使选择生效。

import sys
import curses
import time

def menu(window, dims):
    window.nodelay(0)                      # not sure what this does, lol
    window.clear()                         # clear window
    selection = -1                         # the menu code is from the tutorial
    option = 0                             # so most of this is foreign to me
    while selection < 0:                   # loop
        graphics = [0]*2                   # point to list
        graphics[option] = curses.A_REVERSE # set graphic, reverse BKGND color
        window.border()                    # border
        window.addstr(1, dims[1]/2-2, "Menu")
        window.addstr(3, dims[1]/2-2, "Play", graphics[0])
        window.addstr(4, dims[1]/2-2, "Exit", graphics[1])
        window.refresh()                   # refresh the window
        action = window.getch()            # get input
        if action == curses.KEY_UP:        # if key is up
            option = (option - 1)          # go up?
        elif action == curses.KEY_DOWN:    # key is down
            option = (option + 1)          # go down?
        elif action == ord('\n'):          # if RETURN
            selection = option             # make selection
    window.clear()                         # clear all
    if selection == 0:                     # if is 0, do nothing right now.
        return                             # it's not changing selection
    elif selection == 1:                   # so waiting for that to add here
        return

def main():                                # main function // ran first
    window = curses.initscr()              # making new window
    dims = window.getmaxyx()               # getting window dimensions
    if not curses.has_colors():            # color test
        curses.endwin()                    # color test
        print "no colors"                  # color test
        sys.exit()                         # color test
    else:                                  # color test
        curses.start_color()               # color test
    curses.noecho()                        # don't echo the keys on the screen
    curses.cbreak()                        # don't wait enter for input
    curses.curs_set(0)                     # don't show cursor
    main_loop(window, dims)                # go into main loop

def main_loop(window, dims):
    while menu(window, dims):
        pass
    window.clear()                         
    window.addstr(dims[0]/2, (dims[1]-4)/2, "Exiting...")
    window.refresh()
    time.sleep(1)
    curses.noecho()
    curses.cbreak()
    curses.curs_set(1)
    curses.endwin()

if __name__ == '__main__':
    main()
接待_

我没有window.keypad(1)真正激活输入。
我在之前添加了它main_loop()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Tkinter菜单命令不起作用

来自分类Dev

Python菜单不起作用-在ELIF处停止

来自分类Dev

python菜单,如何使此菜单起作用

来自分类Dev

Python Tkinter:如果菜单使用add_separator,则状态栏不起作用

来自分类Dev

python3中的Tkinter,菜单栏不起作用

来自分类Dev

Python回车不起作用

来自分类Dev

Python数组不起作用

来自分类Dev

Python排序不起作用

来自分类Dev

Python数组不起作用

来自分类Dev

python函数不起作用

来自分类Dev

python if语句不起作用

来自分类Dev

Python:返回不起作用

来自分类Dev

在python selenium xpath中为下拉菜单传递文本文件后,单击不起作用

来自分类Dev

python子类__set__不起作用

来自分类Dev

子进程在Python中不起作用

来自分类Dev

Python3请求-不起作用

来自分类Dev

A *搜索在python中不起作用

来自分类Dev

openstack:novaclient Python API不起作用

来自分类Dev

安装python依赖项不起作用

来自分类Dev

python多处理不起作用?

来自分类Dev

Python @property装饰器不起作用

来自分类Dev

从python调用c函数不起作用

来自分类Dev

Eratosthenes的Python筛子不起作用

来自分类Dev

Git Python似乎不起作用

来自分类Dev

Python检查NoneType不起作用

来自分类Dev

Python:映射调用函数不起作用

来自分类Dev

Python中的静态方法不起作用

来自分类Dev

Python多处理示例不起作用

来自分类Dev

Python打印到文件不起作用