我正在研究一個在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