如何解决Npyscreen在gnome终端中未突出显示所选按钮
我是npyscreen的新手,遇到了问题。
Button color not inverted in npyscreen (gnome-terminal in debian buster)
您可能会发现,很难分辨用户当前是在“ HELLO” TitleText还是在“ Exit” MiniButton上。我用于屏幕截图的代码如下(我使用python3.7):
import npyscreen
class ExitButton(npyscreen.ButtonPress):
def whenPressed(self):
self.parent.parentApp.switchForm(None)
class MainForm(npyscreen.FormBaseNew):
def create(self):
self.text = self.add(npyscreen.TitleText,name ="HELLO")
self.exitButton = self.add(ExitButton,name="Exit",relx=-12,rely=-3,DEFAULT_CURSOR_COLOR="RED")
class App(npyscreen.NPSAppManaged):
def onStart(self):
npyscreen.setTheme(npyscreen.Themes.ElegantTheme)
self.addForm("MAIN",MainForm,name="My Form")
if __name__ == "__main__":
app = App().run()
上面的代码根据问题How do I make an exit button in npyscreen?进行了修改。
有趣的是,该代码在Windows10上运行良好。当我在Windows10中运行上述代码时,所选按钮正确显示了反转的颜色(如npyscreen文档中所承诺的那样!)
我非常确定我的终端运行良好,因为我在python的curses库中进行了尝试。这是另一个屏幕截图。
Inverted color working well in curses (gnome-terminal in debian buster
我使用了以下代码。
import time
import curses
def main(stdscr):
stdscr.clear()
curses.init_pair(1,curses.COLOR_BLACK,curses.COLOR_WHITE)
maxh,maxw = stdscr.getmaxyx()
stdscr.addstr(maxh//2,maxw//2,"hello",curses.color_pair(1))
stdscr.refresh()
time.sleep(3)
curses.wrapper(main)
所以,问题是
(a)我的npyscreen代码是否有问题? (我对此表示怀疑,因为Windows10中的cmd与代码配合得很好)
(b)我的终端机是否有问题? (我对此表示怀疑,因为curses库在我的终端机上工作正常)
那么,有什么作用呢?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。