2011-12-01 102 views
0

我想重寫一個gtk python庫到Gtk3(gi.repository) 我想問問你它包括了什麼?將代碼轉換爲Gtk3的問題

例如庫包含contructions這樣

gtk.gdk.Cursor(gtk.gdk.TOP_LEFT_CORNER), 
gtk.gdk.Cursor(gtk.gdk.TOP_RIGHT_CORNER), 
gtk.gdk.Cursor(gtk.gdk.BOTTOM_RIGHT_CORNER), 
gtk.gdk.Cursor(gtk.gdk.BOTTOM_LEFT_CORNER)) 

所以我把它改寫了這個

Gdk.Cursor(Gdk.CursorType.TOP_LEFT_CORNER), 
Gdk.Cursor(Gdk.CursorType.TOP_RIGHT_CORNER), 
Gdk.Cursor(Gdk.CursorType.BOTTOM_RIGHT_CORNER), 
Gdk.Cursor(Gdk.CursorType.BOTTOM_LEFT_CORNER)) 

所以基本上我做什麼是我打開的IPython和谷歌,並猜測:/

我的問題:

  1. 有沒有某種列表?什麼被替換,我在哪裏可以找到在gi.repository中的類/常量? 例如,我想重寫gtk.CAN_FOCUS,但我不知道在哪裏可以找到這樣的常數gi.repository
  2. 我是不是在做對吧?
  3. 如果是這樣,有什麼我忘了做?

請問有人可以解釋一下,爲什麼會這樣做? gtk2-> gtk3,爲什麼不升級舊庫? 如果我想重寫gtk3的應用程序,它包括了什麼?

回答

0

試試這個交互式的Python:

from gi.repository import Gtk 
dir(Gtk) 
+0

我知道'dir'和'help'命令,但是,讓你沒有快速的方法如何找出'gtk.gdk.TOP_LEFT_CORNER'已取代'Gdk.CursorType.TOP_LEFT_CORNER',它並不能解釋爲什麼這樣的改變已經完成 –

+1

好吧,既然你非常強調Python,我沒有意識到你的問題是你正在尋找一個Gtk2到Gtk3的移植指南。 –

+2

請參閱http://developer.gnome.org/gtk3/3.3/gtk-migrating-2-to-3.html –

1

任何人誰在將來發現這一點,你可以使用這個標誌與這個屬性。

drawing_area.set_property('can-focus', True) 
當然