【问题标题】:How can I extend a class in Python curses module如何在 Python curses 模块中扩展一个类
【发布时间】:2016-11-19 06:02:02
【问题描述】:

在 Python curses 中,可以使用 curses.newwin() 函数创建一个新的窗口对象。如何扩展从newwin 函数实例化的对象的类?

我尝试了dir(curses),但找不到任何明显的类名可供我扩展。

【问题讨论】:

    标签: class python-3.x oop curses python-curses


    【解决方案1】:

    curses.newwin 返回一个扩展类型。

    很遗憾,您不能设置扩展类型的属性。

    作为一种解决方法,您可以重新定义 curses.newwin 以返回一个新的类实例,该实例包装了原始 curses.newwin(..) 的返回值:

    orig_newwin = curses.newwin
    def newwin(*args):
        win = orig_newwin(*args)
        return Wrapper(win)
    curses.newwin = newwin
    

    【讨论】:

    • 感谢您的想法,尽管这看起来不像是在重新定义 curses.newwin,您不应该转发 *args 吗?
    • @HolyMackerel,对不起,我错过了最后一行。只需更新答案以包含该行并转发*args
    猜你喜欢
    • 2013-06-20
    • 1970-01-01
    • 2013-03-09
    • 2015-05-14
    • 1970-01-01
    • 2014-02-21
    • 2014-10-27
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多