Python GUI兼容GTK2和GTK3

时间:2011-12-02 10:31:53

标签: python gtk pygtk pygobject

我想用GTK +在python2中创建一个图形界面。

目前我正在使用gobject-introspection来使用GTK3,但如果可能的话,我也希望与GTK2兼容。

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

我正在为我的窗口使用网格,但GTK2中似乎不存在Gtk.Grid。另一方面,Gtk.Table存在于两个版本中。

是否值得尝试使应用程序兼容两个版本的GTK(以及如何?)或者我将不得不写几乎两倍的代码?

由于

1 个答案:

答案 0 :(得分:2)

基本上选择归结为:

  1. 直接为GTK2写(GTK3向后兼容)
  2. 为那些在GTK2中不可用的小部件编写部分UI的替代实现。
  3. 在第二种情况下,如果你在界面和逻辑之间使用了很好的分离,你就不需要编写“两倍多”的代码,只需重新实现UI的一部分。