在gtk3 python3中创建vbox时出现属性错误

时间:2014-06-20 04:39:32

标签: python-3.x attributes gtk3

我在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)

我无法弄清楚为什么会发生此属性错误,有人可能会提供一些见解

1 个答案:

答案 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)