Поляна и устаревшие свойства gtk

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

Но у меня проблема с (возможно) устаревшими свойствами объектов 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-left-right-bottom, но мне нужно свойство GtkScrolledWindow.min-content-height.

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

РЕДАКТИРОВАТЬ:: информация о версиях 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)

Я запустил эту команду, чтобы получить версию gtk:

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

и я получил

2.24.20-1ubuntu1

1 ответ

Решение

Серия 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.

Другие вопросы по тегам