【问题标题】:Troubles converting code to Gtk3将代码转换为 Gtk3 的麻烦
【发布时间】:2012-01-10 21:50:06
【问题描述】:

我想将一个 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 和 google,然后猜测:/

我的问题:

  1. 是否有某种列表?替换了什么以及在哪里可以找到 gi.repository 中的给定类/常量? 例如,我想重写gtk.CAN_FOCUS,但我不知道在gi.repository 中哪里可以找到这样的常量
  2. 我做得对吗?
  3. 如果是这样,是不是我忘了做些什么?

有人可以解释一下,为什么要进行此更改? gtk2->gtk3,为什么不升级旧库? 如果我想为gtk3重写应用程序,它包括什么?

【问题讨论】:

    标签: python user-interface gtk


    【解决方案1】:

    对于将来发现此问题的任何人,您可以使用此属性设置此标志。

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

    【讨论】:

      【解决方案2】:

      在交互式 Python 中试试这个:

      from gi.repository import Gtk
      dir(Gtk)
      

      【讨论】:

      • 我当然知道dirhelp 命令,但这没有让您快速找到gtk.gdk.TOP_LEFT_CORNER 已被Gdk.CursorType.TOP_LEFT_CORNER 替换的方法,而且它没有解释为什么要进行此类更改
      • 好吧,既然你非常强调 python,我没有从你的问题中知道你正在寻找 Gtk2 到 Gtk3 的移植指南。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 2010-11-13
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多