在GTK+中,.glade文件是用于设计用户界面的XML文件,但是构建程序时并不需要.glade源文件。相反,可以使用Gtk.Builder类从.glade文件中加载用户界面并将其构建为程序。
下面是一个示例代码,说明如何从.glade文件中加载用户界面:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
class MyWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Hello World")
# 创建一个Gtk.Builder对象
builder = Gtk.Builder()
# 从.glade文件中加载用户界面
builder.add_from_file("ui.glade")
# 获取界面中的对象
self.label = builder.get_object("label1")
self.button = builder.get_object("button1")
# 将对象添加到窗口中
box = Gtk.Box()
box.pack_start(self.label, True, True, 0)
box.pack_start(self.button, True, True, 0)
self.add(box)
window = MyWindow()
window.connect("destroy", Gtk.main_quit)
window.show_all()
Gtk.main()
在这个示例中,我们创建了一个MyWindow类,它继承自Gtk.Window类。在__init__方法中,我们创建了一个Gtk.Builder对象,然后使用add_from_file方法从.glade文件中加载用户界面。接下来,我们使用get_object方法获取界面中的对象,并将它们添加到窗口中。最后,我们显示窗口并启动GTK+主循环。
请注意,ui.glade文件应该是你自己创建的.glade文件的路径。确保文件的路径是正确的,并且.glade文件中的对象的id与代码中的对象变量名匹配。
这样,我们就可以在不需要.glade源文件的情况下构建一个程序。