В моем макете я использую массу макетов блоков. В большинстве руководств, которые я смотрел, люди использовали HBox
и VBox
. Я не думал, что Box
будет так сильно отличаться.
GtkBuilder с треском задыхается каждый раз, когда у меня есть макет Box
в файле Glade, выдавая мне следующее сообщение об ошибке:
Gtk:ERROR:/build/buildd/gtk+3.0-3.6.0/./gtk/gtknotebook.c:1235:gtk_notebook_buildable_add_child: assertion failed: (page != NULL)
Я просмотрел это, и лучший ответ, который у них был, - вернуться к Glade 3.8. Я не хочу этого делать, потому что Glade 3.8 был разработан для GTK+ 2, а я хочу разрабатывать для GTK+ 3 (мне очень нравится интерфейс оболочки Gnome). Таким образом, я пытаюсь придерживаться 3.14.
Есть ли другая версия GtkBuilder
, поддерживающая новый макет Box
? Просто кажется странным, что разработчики Glade нарушили свою поддержку, не обновив соответствующий объект GtkBuilder
.
Вот код Python, который создает интерфейс:
from gi.repository import Gtk
class MainWindow(object):
def __init__(self):
self.builder = Gtk.Builder()
self.builder.add_from_file('main-window.glade')
self.window = self.builder.get_object('mainWindow')
self.builder.connect_signals(self)
Любая помощь или совет очень ценятся!
assertion failed: (page != NULL)
. Просто чтобы быть тщательным, я провел несколько тестов с макетомBox
, в том числе оставил некоторые пробелы пустыми, и он отлично работает. Спасибо большое за помощь. - person Spen-ZAR   schedule 15.04.2013