免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1683 | 回复: 1
打印 上一主题 下一主题

glade问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-04 13:03 |只看该作者 |倒序浏览
用glade做了个简单的界面,运行python是出现如下错误:
(a.py:3825): libglade-WARNING **: Expected <glade-interface>.  Got <interface>.

(a.py:3825): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
  File "a.py", line 18, in <module>
    window=window()
  File "a.py", line 8, in __init__
    r=gtk.glade.XML('/home/huang/Desktop/ex/file_manager/r.glade')
RuntimeError: could not create GladeXML object

python 代码:
  1. import pygtk
  2. import gtk
  3. import gtk.glade

  4. class window:
  5.       def __init__(self):
  6.          
  7.           r=gtk.glade.XML('r.glade')
  8.           window=r.get_widget('window')
  9.           window.connect('destory',lambda q:gtk.main_quit())
  10.           self.window.show()  
  11.       def quit(self,widgte):
  12.           gtk.main_quit()
  13.       def main(self):
  14.           gtk.main()
  15. window=window()
  16. window.main()
复制代码
r.glade 代码:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <interface>
  3.   <!-- interface-requires gtk+ 3.0 -->
  4.   <object class="GtkWindow" id="window">
  5.     <property name="width_request">400</property>
  6.     <property name="height_request">300</property>
  7.     <property name="can_focus">False</property>
  8.     <property name="title" translatable="yes">glade</property>
  9.     <child>
  10.       <object class="GtkFixed" id="fixed1">
  11.         <property name="visible">True</property>
  12.         <property name="can_focus">False</property>
  13.         <child>
  14.           <object class="GtkTextView" id="textview1">
  15.             <property name="width_request">450</property>
  16.             <property name="height_request">270</property>
  17.             <property name="visible">True</property>
  18.             <property name="can_focus">True</property>
  19.           </object>
  20.           <packing>
  21.             <property name="y">30</property>
  22.           </packing>
  23.         </child>
  24.         <child>
  25.           <object class="GtkButton" id="button1">
  26.             <property name="label" translatable="yes">exit</property>
  27.             <property name="use_action_appearance">False</property>
  28.             <property name="width_request">10</property>
  29.             <property name="height_request">10</property>
  30.             <property name="visible">True</property>
  31.             <property name="can_focus">True</property>
  32.             <property name="receives_default">True</property>
  33.             <property name="use_action_appearance">False</property>
  34.             <signal name="clicked" handler="quit" object="window" swapped="no"/>
  35.           </object>
  36.           <packing>
  37.             <property name="x">150</property>
  38.           </packing>
  39.         </child>
  40.       </object>
  41.     </child>
  42.   </object>
  43. </interface>
复制代码
怎么解决,这个而问题啊?

论坛徽章:
0
2 [报告]
发表于 2012-06-04 13:41 |只看该作者
  1. import pygtk
  2. import gtk
  3. import gtk.glade
  4. pygtk.require('2.0')
  5. class window:
  6.       def __init__(self):
  7.           filename='r.glade'
  8.           b=gtk.Builder()
  9.           b.add_from_file(filename)
  10.           b.connect_signals(self)
  11.           window=b.get_object('window')
  12.           window.show()
  13.       def quit(self,widgte):
  14.           gtk.main_quit()
  15.       def main(self):
  16.           gtk.main()
  17. window=window()
  18. window.main()
复制代码
换成这段代码后就正常了.gtk.Build()和gtk.glade.XML()具体有哪些区别呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP