我有一个基于linux的python应用程序,它使用pygtk和gtk。 它有UI执行和命令行模式执行选项。 在UI模式下,要创建主应用程序窗口,类定义是
class ToolWindow(common.Singleton, gtk.Window):
def __init__(self):
gtk.Window.__init__(self,gtk.WINDOW_TOPLEVEL)
我要做的是,如果应用程序能够导入gtk和pygtk,那么 类ToolWindow应该同时继承这两者普通。单身以及gtk.窗口类,否则它只应继承普通。单身班级。在
最好的方法是什么???在
您可以指定一个元类,在其中可以测试哪些模块是可导入的:
这只是一个粗略的草图,显然可以做很多改进,但它应该可以帮助你开始。在
您应该知道您应该将}模块(可能在元类中设置一个标志,以便以后检查该模块是否可用;或者,您甚至可以根据模块是否可用,在元类中重新定义
__init__()
方法从ToolWindow
更改,因为它可能没有{__init__()
方法有几种解决方法)。在相关问题 更多 >
编程相关推荐