Python GUI 兼容 GTK2 和 GTK3
我想用Python2和GTK+创建一个图形界面。
目前我在用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 个回答
2
简单来说,选择主要有两个方向:
- 直接为GTK2编写代码(GTK3是向后兼容的)
- 为那些在GTK2中不可用的控件,编写界面的替代实现。
在第二种情况下,如果你能把界面和逻辑分开得很好,就不需要写“两倍的”代码,只需要重新实现界面的一部分就可以了。