2009-06-06 5 views
3

Glade를 사용하여 GUI를 디자인하고 파이썬 코드를 생성하고 싶습니다. 문제는 GladeGen을 찾을 수 없다는 것입니다. 누구든지 다운로드 할 수있는 위치를 알고 있습니까?어디에서 GladeGen을 찾을 수 있습니까?

답변

2

GUI 디자이너를 사용하지 않는 이유는 Anjuta 또는 Glade 프로그램과 같은 것입니다. glade XML으로 작성하고 libglade 용 Python 바인딩을 사용하여 XML 파일을 사용할 수 있습니다. XAML과 비슷합니다.

편집

는 파이썬

http://glc.sourceforge.net/
http://www.pygtk.org/ (도움이 될 수 있습니다)

+0

sourceforge csv에서'glc'에 대한 마지막 커밋은 2002 년이었던 것 같습니다. 또한 마지막 업데이트 2010과 함께 [Glade Code Generator - gcgen] (http://sourceforge.net/projects/gcgen/files/)이 있으며 추가 XML 라이브러리가 필요합니다 ... – sdaau

0
런치 패드에서이 바자 저장소에 복사 된 것으로 보인다

:

launchpad.net/~wattazoum: gladegen : Code : Python dev tools

(직접 download tarball - 아래의 조각이 사용)

또한, 링크 GladeGen의 저자가 작성한 글 :

참고; Libglade로 파일을 저장해야한다는 약간의 테스트를했습니다. GladeGen 모두를 구문 분석 할 수 있습니다

$ python2.7 GladeGen.py /tmp/test-libglade.glade TestMe TestMe 
funcs 
main <function main at 0xb72d98b4> 
search_file <function search_file at 0xb72d964c> 

classes 
GladeWindow <class 'GladeWindow.GladeWindow'> 
TestMe <class 'TestMe.TestMe'> 

methods 
('GladeWindow', '__init__') 
('GladeWindow', 'hide') 
('GladeWindow', 'set_callback_function') 
('GladeWindow', 'set_search_path') 
('GladeWindow', 'set_top_window') 
('GladeWindow', 'show') 
('TestMe', '__init__') 
('TestMe', 'hide') 
('TestMe', 'init') 
('TestMe', 'set_callback_function') 
('TestMe', 'set_search_path') 
('TestMe', 'set_top_window') 
('TestMe', 'show') 

widgets 
('GtkWindow', 'window1') 
('GtkHBox', 'hbox1') 
('GtkScrolledWindow', 'scrolledwindow1') 

handlers 

$ python2.7 GladeGen.py /tmp/test-gtkbuilder.glade TestMe2 TestMe2 
funcs 
main <function main at 0x95778ec> 
search_file <function search_file at 0x9577684> 

classes 
GladeWindow <class 'GladeWindow.GladeWindow'> 
TestMe2 <class 'TestMe2.TestMe2'> 

methods 
('GladeWindow', '__init__') 
('GladeWindow', 'hide') 
('GladeWindow', 'set_callback_function') 
('GladeWindow', 'set_search_path') 
('GladeWindow', 'set_top_window') 
('GladeWindow', 'show') 
('TestMe2', '__init__') 
('TestMe2', 'hide') 
('TestMe2', 'init') 
('TestMe2', 'set_callback_function') 
('TestMe2', 'set_search_path') 
('TestMe2', 'set_top_window') 
('TestMe2', 'show') 

widgets 

handlers 

을하지만, 당신이 보낸 파이썬 코드를 실행하려고하면, 첫 번째 (python TestMe.py) 실행; 두 번째 동안, gtkbuilder 하나가 실패합니다

$ python2.7 TestMe2.py 

(TestMe2.py:24883): libglade-WARNING **: Expected <glade-interface>. Got <interface>. 

(TestMe2.py:24883): libglade-WARNING **: did not finish in PARSER_FINISH state 
Traceback (most recent call last): 
    File "TestMe2.py", line 66, in <module> 
    main(sys.argv) 
    File "TestMe2.py", line 59, in main 
    w = TestMe2() 
    File "TestMe2.py", line 37, in __init__ 
    self.init() 
    File "TestMe2.py", line 52, in init 
    GladeWindow.__init__(self, filename, top_window, widget_list, handlers) 
    File "/path/to/src/wattazoum_pydevtools_gladegen/src/GladeWindow.py", line 77, in __init__ 
    self.xml = gtk.glade.XML(fname) 
RuntimeError: could not create GladeXML object 

잘 습지가 생성하는 분명히 할 수없는, 나는 저장 - 파이썬 코드/수출/생성 /, 나는 아직도 이것을 사용할 수 있습니다 다행이야 ...


... 편집 :이 수출 단지는 것을 주목해야한다,하지만 (그게 바로 숲 사이의 빈터 파일에 인터페이스입니다 ...

def init(self): 
    filename = '/tmp/test-libglade.glade' 
    widget_list = [ 
      'window1', 
      'hbox1', 
      'scrolledwindow1', 
      ] 
    handlers = [ 
      ] 
    top_window = 'window1' 
    GladeWindow.__init__(self, filename, top_window, widget_list, handlers) 

거의 시작 튜토리얼에서와 같이 그래서

self.window1 = gtk.Window(gtk.WINDOW_TOPLEVEL) 

... 그리고 ... :), 그리고 실제로 같은 번역 코드와 같이 내가 기대 파이썬 코드를 작성하지 않습니다그것은 부끄러운 일이었습니다. 왜냐하면 그것은 내가 다른 방법으로 찾고 있었던 것이기 때문입니다. :)