2014-02-07 2 views
0

Я пытался запустить программное обеспечение, где я создал пользовательский интерфейс Glade. Затем Glade преобразует пользовательский интерфейс в файл XML, а затем в Python я просто загружаю этот файл.Glade и устаревшие свойства gtk

Но у меня проблема с (возможно) устаревшими свойствами объектов gtk. Это то, что переводчик говорит:

Unknown property: GtkScrolledWindow.min-content-width 
    self.__builder.add_from_file('UI2.glade') 
/home/jimmy/Documenti/linguaggi_dinamici/progetto/collega_GUI.py:37: GtkWarning: Unknown property: GtkScrolledWindow.min-content-height 
    self.__builder.add_from_file('UI2.glade') 
/home/jimmy/Documenti/linguaggi_dinamici/progetto/collega_GUI.py:37: GtkWarning: Unknown property: GtkBox.margin-left 
    self.__builder.add_from_file('UI2.glade') 
/home/jimmy/Documenti/linguaggi_dinamici/progetto/collega_GUI.py:37: GtkWarning: Unknown property: GtkBox.margin-right 
    self.__builder.add_from_file('UI2.glade') 
/home/jimmy/Documenti/linguaggi_dinamici/progetto/collega_GUI.py:37: GtkWarning: Unknown property: GtkBox.margin-bottom 
    self.__builder.add_from_file('UI2.glade') 

(main.py:4490): GLib-GObject-ERROR **: cannot create instance of abstract (non-instantiatable) type 'GtkBox' 
Trace/breakpoint trap (core dumped) 

Я мог бы попытаться удалить GtkBox.margin левый-правый снизу, но мне нужно свойство GtkScrolledWindow.min-высоты содержимого.

Странно, что GtkScrolledWindow.min-content-width работает корректно, потому что я не вижу никакого предупреждения об этом.

EDIT :: информация о Gtk и Glade версии в настоящее время работает

Glade: 3.14.2 

collega_GUI.py

try: 
    import pygtk 
    pygtk.require("2.0") 
except: 
    pass 

try: 
    import gtk 
    import gtk.glade 
except: 
    print("GTK Not Availible") 
    sys.exit(1) 

Я побежал this command, чтобы получить версию GTK:

dpkg -l libgtk[0-9]* | grep ^i 

и я получил

2.24.20-1ubuntu1 
+0

Вы используете последнюю версию поляны? Похоже, что вы используете более новую версию Gtk, тогда какая поляна генерирует файл UI. – smani

+0

См. Мой EDIT, пожалуйста, – FrancescoN

+0

Когда вы создаете файл ui на поляне, вам обычно спрашивают, какую версию нужно настроить. Убедитесь, что вы выбрали 2.24.x (или закрыть), а не 3.x или 1.x. – drahnr

ответ

0

Серия Glade-3.8.x является последней версией, поддерживающей Gtk + 2. поляна> 3.8.x цели Gtk + 3. Ubuntu предоставляет пакет glade-gtk2, который упаковывает версию 3.8.x, тогда как пакет glade содержит последнюю версию Gtk + 3.

Итак, если вы нацеливаете Gtk + 2, вам необходимо установить glade-gtk2 и использовать эту версию поляны.

Примечание: аналогично на Fedora пакет glade отправляет версию Gtk + 3, а glade3 (не совсем оптимальное название) отправляет версию Gtk + 2.

+0

Хорошо, хорошо. Я установил его, и теперь он падает каждый раз, когда я собираюсь загрузить файл, отредактированный предыдущей Glade (3.x.x). Бесконечные муки. Через несколько минут я попытаюсь найти обходной путь, любой совет приветствуется. Спасибо – FrancescoN

+0

Если вы запускаете поляну с терминала, вы можете увидеть ее вывод, который он выводит на терминал, что вызывает его сбой. Затем вы можете открыть файл поляны с помощью текстового редактора и удалить оскорбительные элементы/свойства. Проблема, скорее всего, в том, что новая поляна написала элементы/свойства в файл, который пролетел 3.8.x не может читать, что приводит к его сбою из-за плохой обработки ошибок. – smani

+0

Если я получил что-то с терминала ... но он просто создал ядро ​​ядра (и я не могу найти его с ** ls -a **) – FrancescoN

Смежные вопросы