林间空地和pygtk(可能是一个charset prob?)

时间:2013-06-18 18:25:12

标签: python character-encoding arguments pygtk glade

我正在努力解决问题,这真的让我疯狂。我为Python 2.7 [1]和Python 2.7.5 [2]安装了Pygtk-all-in-one Bundle 2.24.2版本。

现在我想使用gtk.builder加载我的glade文件。

我的python文件如下:

#!/usr/bin/python
#-*- coding: utf-8 -*-

import sys
import gtk

import gtk.glade

class  QueryRelevanceEvaluationApp:

    def __init__(self):
        builder = gtk.Builder()
        builder.add_from_file("C:\blubb.glade")
        builder.connect_signals(self)

app = QueryRelevanceEvaluationApp()
gtk.main()

我的glade文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<interface>
  <requires lib="gtk+" version="2.16"/>
  <!-- interface-naming-policy project-wide -->
  <object class="GtkWindow" id="window1">
    <property name="can_focus">False</property>
    <child>
      <placeholder/>
    </child>
  </object>
</interface>

如果我运行该应用程序,则会收到以下错误:

Process started >>>
Traceback (most recent call last):
  File "C:\Users\Bernhard\Documents\test\base2.py", line 16, in <module>
    app = QueryRelevanceEvaluationApp()
  File "C:\Users\Bernhard\Documents\test\base2.py", line 13, in __init__
    builder.add_from_file("C:\blubb.glade")
glib.GError: Datei ┬╗Clubb.glade┬½ konnte nicht ge├Âffnet werden: Invalid argument

但是,如果我将“blubb.glade”重命名为“hallo-welt2.ui”,那么每次都可以正常工作。我对Python比较陌生,所以我真的不知道是什么导致了这个问题。起初,我想,我的Pygtk安装的东西是错误的,但是在重命名文件后,我发现奇怪的行为,一切正常。所以我在想,也许其他东西(charset?)导致问题。我正在使用Windows 7 64位机器(我的系统语言是德语)。

这真的很好,如果有人能给我一个如何解决这个问题的提示。

提前致谢!

来自奥地利的问候

[1] http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.2.win32-py2.7.msi

[2] http://www.python.org/download/releases/2.7.5/

1 个答案:

答案 0 :(得分:0)

\b是退格字符,AFAIR;你应该逃避反斜杠:

>>> print "C:\blubb.glade"
Clubb.glade
>>> print "C:\\blubb.glade"
C:\blubb.glade