Я сделал графический интерфейс на поляне, который хочу добавить в программу на python. Я адаптировал инструкции из учебника, который я нашел в Интернете, для загрузки в свой файл glade (http://www.pygtk.org/articles/pygtk-glade-gui/Creating_a_GUI_using_PyGTK_and_Glade.htm).). Когда у меня возникли проблемы, я попробовал что-то простое (одна кнопка), назвав это так же, как в этом учебнике, и скопировал, вставив их код, и это все еще не работало. Я также взглянул на (http://www.linuxjournal.com/article/6586?page=0,2),, в котором функция вызывается немного по-другому ("self.wTree = gtk.glade.XML (gladefile, windowname)" вместо без windowname), и реализовал эквивалент с моим, и это не исправило это. У меня определенно работает pygtk, я сделал что-то без использования Glade прежде, и это работало нормально. Я получаю ошибку:
/usr/share/themes/NOX/gtk-2.0/gtkrc:233: Murrine configuration option "gradients"
is no longer supported and will be ignored.
(helloWorld.py:9804): libglade-WARNING **: Expected <glade-interface>. Got
<interface>.
(helloWorld.py:9804): libglade-WARNING **: did not finish in PARSER_FINISH state
Traceback (most recent call last):
File "helloWorld.py", line 31, in <module>
hwg = HellowWorldGTK()
File "helloWorld.py", line 22, in __init__
self.wTree = gtk.glade.XML(self.gladefile)
RuntimeError: could not create GladeXML object
Я использую xubuntu 11.04. Конфигурация Murrine возникает при открытии любого gtk-приложения, но я включил его на случай, если это уместно. Вот код, который я взял из учебника (но не работает)
#!/usr/bin/env python
import sys
try:
import pygtk
pygtk.require("2.0")
except:
pass
try:
import gtk
import gtk.glade
except:
sys.exit(1)
class HellowWorldGTK:
"""This is an Hello World GTK application"""
def __init__(self):
#Set the Glade file
self.gladefile = "PyHelloWorld.glade"
self.wTree = gtk.glade.XML(self.gladefile)
#Get the Main Window, and connect the "destroy" event
self.window = self.wTree.get_widget("MainWindow")
self.window.show()
if (self.window):
self.window.connect("destroy", gtk.main_quit)
if __name__ == "__main__":
hwg = HellowWorldGTK()
gtk.main()