У меня опять проблемы с Python. Я создал проект, используя Quickly, и он создал диалог настроек для меня. Сейчас я пытаюсь создать диалоговое окно настроек, но всегда получаю сообщение об ошибке, указывающее мне на фрагмент кода, который сам себя сгенерировал.
robin@RobinJ:~/Ubuntu One/Python/gtkreddit$ quickly run
/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction
Gtk.Window.__init__(self, type=type, **kwds)
WARNING:gtkreddit_lib: connect_signals() 'expected handler 'btnRefresh_clicked' in /home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/GtkredditWindow.pyc'
Traceback (most recent call last):
File "bin/gtkreddit", line 33, in <module>
gtkreddit.main()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/__init__.py", line 33, in main
window = GtkredditWindow.GtkredditWindow()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit_lib/Window.py", line 35, in __new__
new_object.finish_initializing(builder)
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit/GtkredditWindow.py", line 50, in finish_initializing
dlgPreferences = PreferencesDialog ()
File "/home/robin/Ubuntu One/Python/gtkreddit/gtkreddit_lib/PreferencesDialog.py", line 26, in __new__
new_object.finish_initializing(builder)
AttributeError: 'NoneType' object has no attribute 'finish_initializing'
Это часть, на которую он жалуется;
def finish_initializing(self, builder): # pylint: disable=E1002
"""Set up the preferences dialog"""
super(PreferencesGtkredditDialog, self).finish_initializing(builder)
Весь код можно найти здесь .
Пожалуйста, помогите. Я довольно новичок в Python.
Базовый класс для диалога Preferences ищет объект с именем preferences_gtkreddit_dialog
, вам нужно либо переименовать диалоговое окно обратно в него.
Кроме того, каким-то образом ваш файл PreferencesGtkredditDialog Glade был изменен, чтобы он считался экземпляром GtkDialog
, где он должен быть экземпляром PreferencesGtkredditDialog
.