将代码转换为Gtk3时遇到问题
我想把一个gtk的python库重写成Gtk3(gi.repository)。我想问一下,这里面都包含了什么?
比如说,库里有这样的结构:
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和谷歌,然后开始猜 :/
我有几个问题:
- 有没有什么地方有个列表?说说哪些东西被替换了,在哪里可以找到特定的类或常量在gi.repository里?比如说,我想重写
gtk.CAN_FOCUS
,但我不知道在gi.repository
里哪里能找到这个常量。 - 我这样做对吗?
- 如果对,那我是不是还有什么忘了做的?
能不能有人解释一下,为什么要做这个改变?从gtk2升级到gtk3,为什么不直接升级旧的库呢?如果我想把应用重写成gtk3,这里面都包括了什么?
2 个回答
0
试试在交互式Python中运行这个:
from gi.repository import Gtk
dir(Gtk)
1
如果将来有人看到这个,可以通过这个属性来设置这个标志。
drawing_area.set_property('can-focus', True)