2011-12-02 53 views
2

我想用GTK +在python2中創建一個圖形界面。兼容GTK2和GTK3的Python GUI

現在我正在使用gobject-introspection來使用GTK3,但是我想,如果可能的話,也要與GTK2兼容。

#!/usr/bin/python2 
try: 
    from gi.repository import Gtk 
except: 
    try: 
     import gtk as Gtk 
    except: 
     print("You need GTK") 

我是用我的窗口,一個網格,但似乎Gtk.Grid不存在GTK2。另一方面Gtk.Table存在於兩個版本中。

是否值得嘗試使一個應用程序兼容兩個版本的GTK(以及如何?)或者我將不得不編寫幾乎兩倍的代碼?

感謝

回答

2

大幅度的選擇歸結爲:

  1. 寫GTK2直接(GTK3是向後兼容)UI的部分
  2. 寫可選的實施方式對於那些沒有可用的小部件在GTK2中。

在第二種情況下,如果在界面和邏輯之間使用良好的分隔,則不需要編寫「兩倍」的代碼,只需重新實現部分UI。

+1

GTK3是向下兼容?好消息,我會去做那件事。謝謝 –

+0

「大部分」源代碼級向後兼容,說實話。 – rodrigo

+1

@MartinTrigaux「向後兼容」我的意思是,具有相同名稱的小部件工作相同,所以如果您有爲GTK2編寫的代碼,它也應該在GTK3上工作。希望這是你需要的! :) – mac