我在gtk3中有一个对话框,我正在尝试创建一个vbox和hbox,这两个都失败了,无法设置属性错误。我查看了文档,并尝试使用spacing = x的变体并直接调用新方法。
class MacroDialog(Gtk.Dialog):
def __init__(self, parent, id_):
Gtk.Dialog.__init__(self, 'Record Macros', parent)
self.set_default_size(150, 100)
self.set_has_resize_grip(False)
#create widgets, layout
self.box = self.get_content_area()
self.vbox = Gtk.Box.new(Gtk.Orientation.VERTICAL, 10)
self.hbox = Gtk.Box.new(Gtk.Orientation.HORIZONTAL, 6)
我无法弄清楚为什么会发生此属性错误,有人可能会提供一些见解
答案 0 :(得分:0)
通过重命名self.vbox,self.hbox =>结束解决此问题。 self.v_box和self.h_box 同时重复使用框,self.get_content_area()作为我的v_box,通过设置方向,下面的工作:
class MacroDialog(Gtk.Dialog):
def __init__(self, parent, id_):
Gtk.Dialog.__init__(self, 'Record Macros', parent)
self.set_default_size(150, 100)
self.set_has_resize_grip(False)
#create widgets, layout
self.v_box = self.get_content_area()
self.v_box.set_orientation(Gtk.Orientation.VERTICAL)
#self.v_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=10)
self.h_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=10)
self.scrollWindow = Gtk.ScrolledWindow()
self.scrollWindow.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)
self.macroEdit = Gtk.TextView()
self.macroEdit.set_editable(False)
self.scrollWindow.add(self.macroEdit)
self.clearBtn = Gtk.Button('Clear')
self.saveBtn = Gtk.Button('Save')
#add widgets
self.v_box.pack_start(self.scrollWindow, True, True, 0)
self.h_box.pack_start(self.clearBtn, True, True, 0)
self.h_box.pack_start(self.saveBtn, True, True, 0)
self.v_box.pack_start(self.h_box, True, True, 0)
self.v_box.add(self.h_box)