Поляна и устаревшие свойства 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.