我正在研究一个在2个不同平台上运行的python应用程序,即常规桌面linux和Maemo 4.我们在两个平台上都使用PyGTK,但在Maemo上有一些小的调整,使它看起来不错,如下:如何处理多个通用用户界面?
if util.platform.MAEMO:
# do something fancy for maemo
else:
# regular pygtk
大致有这15 if语句需要得到UI寻找和Maemo操作4
工作很好这一直是这段时间非常易于管理。问题是前一段时间有Maemo发布的新版本(5,又名fremantle),与Maemo 4相比,它有一些很大的不同。我不想在GUI代码中添加一堆检查以便得到所有3个平台与相同的代码库很好地工作,因为这会得到混乱。我也不想为每个平台创建原始GUI代码的副本,只是针对特定平台修改它(我想尽可能多地使用代码)。
那么,什么是略微不同的用户界面为基于相同的核心UI代码的不同平台?我不认为这是一个python或Maemo特定的问题,我只想知道这是如何完成的。
什么样的代码是平台之间不同:回调,所使用的窗口小部件,小部件被布置(即,在不同的方式容器或不同的订单),还是只是某些平台特定的小部件属性? – LeafStorm 2010-01-07 18:06:39
对不起,我忘了。这一切都是上述情况。在所有平台上的核心是PyGTK,然后在Maemo 4上有一些hildon的东西(Maemo特定的小部件,它们具有不同的名称/信号/等),然后在Maemo 5上有更多奇特的hildon东西以及其他一些小部件,应用程序更可用。另外,在Maemo 5版本中,我们希望有旋转支持,它需要重新安排小部件。 – nikosapi 2010-01-07 18:36:18