我的工作,目前有16个窗口/对话框,并即将130KB一个的PyGTK /空地应用,最终将有大约25窗口/对话框和大约200KB.目前,我将所有窗口存储在一个整体的glade文件中.当我运行一个窗口时,我称之为......
self.wTree = gtk.glade.XML("interface.glade", "WindowXYZ")
我想知道将每个窗口分成它自己的glade文件是否更好.而不是一个带有25个窗口/对话框的glade文件,我有25个glade文件,每个文件有一个窗口/对话框,并调用它如下:
self.wTree = gtk.glade.XML("windowxyz.glade")
你们认为最好的方法是什么?一种方法比另一种方法更耗费资源吗?关于单个glade文件的一件好事是命名小部件会更容易.例如,我将所有OK按钮命名为"windowxyz_ok",但我可以将其更改为"ok".使事情变得更简单.缺点是对不同的窗口进行更改可能不太方便.
我对所有论点持开放态度.谢谢!
在我的项目中,每个glade文件总是有一个窗口.我建议您的项目使用相同的内容.
以下是两个主要原因:
它会更快并且使用更少的内存,因为每次调用gtk.glade.XML()都会解析整个事情.当然,您可以传入root参数以避免为所有窗口创建窗口小部件树,但是您仍然需要解析所有XML,即使您对它不感兴趣.
从概念上讲,如果每个窗口有一个顶层,则更容易理解.通过查看文件名,您可以轻松地知道给定对话框/窗口所在的文件名.