- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是第一次学习 curses,我决定用 python 来做,因为它比不断地重新编译要容易。但是,我遇到了麻烦。当我尝试更新第二个窗口时,我没有得到任何输出。这是一个代码片段:
import curses
win = curses.initscr()
curses.noecho()
curses.cbreak()
curses.curs_set(0)
field = curses.newwin(1, 20, 1, 1)
field.addstr(0, 0, "Hello, world!", curses.A_REVERSE)
field.refresh()
用 initscr() 初始化的正常 win 窗口可以工作,但字段窗口不显示。有帮助吗?
import curses
ex = None
def main(stdscr):
global ex
try:
curses.curs_set(0)
except Exception, e:
ex = e
field = curses.newwin(25, 25, 6, 6)
field.border()
cont = True
x, y = 0, 0
while cont:
stdscr.clear()
field.clear()
coords = "%d, %d" % (x, y)
stdscr.addstr(5, 5, coords, curses.A_REVERSE)
field.addstr(y+2, x+2, "@", curses.A_BOLD)
chr = stdscr.getkey()
if chr == 'h':
if x > 0: x -= 1
if chr == 'l':
if x < 20: x += 1
if chr == 'j':
if y > 0: y -= 1
if chr == 'k':
if y < 20: y += 1
if chr == 'q':
cont = False
stdscr.clear()
field.clear()
stdscr.noutrefresh()
field.noutrefresh()
curses.doupdate()
curses.wrapper(main)
if ex is not None:
print 'got %s (%s)' % (type(ex).__name__, ex)
最佳答案
对我来说似乎没问题——我总是使用 curses.wrapper
并且我的终端不支持 0 的光标可见性,所以这就是我所拥有的......:
import curses
ex = None
def main(stdscr):
global ex
try:
curses.curs_set(0)
except Exception, e:
ex = e
field = curses.newwin(1, 20, 1, 1)
field.addstr(0, 0, "Hello, world!", curses.A_REVERSE)
field.refresh()
field.getch()
curses.wrapper(main)
if ex is not None:
print 'got %s (%s)' % (type(ex).__name__, ex)
我看到相反的“Hello, world!”,然后当我按下任意键以满足 getch
时,程序终止并出现预期的消息 got 错误(curs_set() 返回 ERR)
。
您在这个程序中看到了什么...? (记住包装器执行 initscr
并设置 noecho
和 cbreak
—— 更重要的是在完成后重置它,这就是我总是使用它的原因; -).
顺便说一句,我在 Mac (OSx 10.5.8) 和 Terminal.App 上使用 Py 2.6.4。您的平台...?
关于python curses.newwin 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3170406/
我是第一次学习 curses,我决定用 python 来做,因为它比不断地重新编译要容易。但是,我遇到了麻烦。当我尝试更新第二个窗口时,我没有得到任何输出。这是一个代码片段: import curse
我在 Android 上的 c4droid 上运行 ncurses。在这里,box() 可以与 initscr() 的窗口指针完美配合,但不能与 newwin() 的盒子配合使用。 代码: #incl
我正在编译一个在 shell 上创建窗口的程序。当我编译时,我得到类似 的错误 test.c:(.text+0x25): undefined reference to `newwin' test.c:
我正在使用 ncurses 在 C++ 中开发应用程序,但 newwin() 和 mvwin() 函数都没有按预期工作。每当我给出这些函数参数值中的任何一个以尝试创建一个与初始终端窗口大小不同的新窗口
我正在尝试使用 curses 模块制作菜单系统。我有以下代码: import sys, os, traceback, curses def main(scrn): screen = scrn
我似乎找不到任何关于 curses.newwin 和 curses.subwin 之间区别的信息 你知道吗? 我想将屏幕分成 3 个不同的部分,更新时间不同(并非每次按键都必须更新所有内容)。 这是正
代码是: from curses import * from curses.panel import * def main(stdscr): start_color() curs_se
我是一名优秀的程序员,十分优秀!