2014-06-20 5 views
0

gtk3에 대화 상자가 있는데 vbox와 hbox를 만들려고합니다. 두 가지 모두 비참하게 실패하여 속성 오류를 설정할 수 없습니다. 나는 문서를 보았고 spacing = x의 변형을 시도하고 직접 새로운 메소드를 호출했다.gtk3에서 vbox를 만들 때 속성 오류가 발생했습니다.

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

는 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) 
관련 문제