空地可以与python pygi自省一起使用吗?

Aze*_*ale 5 python gtk pygtk application-development

我曾经开始学习 PyGtk 和 Glade 教程,但从未完成。最近,我在https://wiki.ubuntu.com/MeetingLogs/appdevweek1104/GObjectIntrospectionhttps://wiki.ubuntu.com/MeetingLogs/appdevweek1104/PyGI看到 PyGtk 正在贬值,有利于使用自省。我决定尝试使用新方法再次学习更多的 Python 和 Gtk。我链接到的页面似乎显示了如果我想在代码中制作 GUI,你会怎么做,但我喜欢使用 Glade。有没有办法做到这一点并仍然使用新的自省?

Ste*_*zzo 7

是的,实际上它几乎完全相同:

from gi.repository import Gtk

class Test (object):

    def __init__(self):
        self.builder = Gtk.Builder()
        self.builder.add_from_file("test.glade")
        self.builder.connect_signals(self)

    def run(self, *args):
        self.builder.get_object("window1").show()
        Gtk.main()

    def quit(self, *args):
        Gtk.main_quit()


Test().run()
Run Code Online (Sandbox Code Playgroud)

许多较小的程序将花费很少的精力进行转换。您可以首先使用以下两行代码切换到 gobject introspection,然后通过在参考中查找它们来纠正任何错误。

from gi.repository import Gtk as gtk
from gi.repository import Gobject as gobject
Run Code Online (Sandbox Code Playgroud)

例如,当您使用自省时gtk.RESPONSE_OK将被调用Gtk.ResponseType.OK