Gtk发出警告,不会显示我的菜单项

时间:2013-03-23 22:04:10

标签: python gtk

python代码:menu_item = gtk.MenuItem("après")会发出警告消息:Gtk warning Invalid input string并且不显示菜单项。我应该添加/更改什么才能显示菜单项?

1 个答案:

答案 0 :(得分:1)

您的编辑器很可能将源文件保存为其他编码,例如Latin-1或Windows-1252,其中GTK需要UTF-8。尝试将"après"替换为u"apr\u00e8s".encode("utf-8")。如果这样可以解决问题,那就存在问题。

要正确解决问题,您需要:

  • 使用# -*- coding: utf-8 -*-
  • 将编码声明为Python
  • 确保您的编辑器以声明的编码保存文件。如有必要,请使用十六进制编辑器对此进行验证。
  • 将Unicode字符串文字用于非ASCII字符串,即u"après"而不是"après"。如果不接受unicode字符串,请使用u"après".encode("utf-8")。 PyGTK通常接受Unicode字符串,因此不需要对UTF-8进行显式编码。