У меня есть прикладной уровень, который я хотел бы перенести на Gtk, у которого есть весь собственный код макета, и я не хочу тратить «n» месяцев на его переписку для работы с системой макетов Gtk, но скорее просто используя существующий внутренний код компоновки, и пусть Gtk отобразит полученные виджеты.
Я начал с написания собственного виджета после того, как попробовал несколько встроенных контейнеров. По сути, я ищу что-то вроде контейнера GtkFixed, который не имеет минимального размера, то есть Gtk поместит первый виджет во все окно, и все дочерние виджеты будут размещены так, чтобы они заполняли область. Если я использую GtkFixed для этого, окно всегда ограничено размером исходного макета, так как это «запрошенное» пространство. Я не могу изменить его размер меньше, чем используя края декора окна.
Может быть, мне нужно учиться в распределении против запроса. До сих пор я не нашел информацию, которая мне нужна для этой работы. Я попробовал.
Я сейчас использую C API и нацеливаюсь на Win32 и Linux. До сих пор у меня есть приложение оболочки, работающее в Win32, которое отображает пустое окно. Но первый дочерний виджет ограничивает изменение размера первоначальным размером.
Редактировать: к вашему сведению конечный результат всего этого доступен здесь . Этот код представляет базовый виджет, который я могу перемещать и изменять размер независимо от механизма компоновки GTK.