Python GUI 兼容 GTK2 和 GTK3

2 投票
1 回答
1313 浏览
提问于 2025-04-17 07:32

我想用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

简单来说,选择主要有两个方向:

  1. 直接为GTK2编写代码(GTK3是向后兼容的)
  2. 为那些在GTK2中不可用的控件,编写界面的替代实现。

在第二种情况下,如果你能把界面和逻辑分开得很好,就不需要写“两倍的”代码,只需要重新实现界面的一部分就可以了。

撰写回答