Я подозреваю, что решение находится в пределах libchamplain , но я спрашиваю и здесь, на случай, если кто-то знает выход.
В небольшой программе Python-Gtk3 яиспользуя libchamplain, чтобы выбрать местоположение и указать размер.
Для этого я предлагаю пользователю круг, которым он может управлять с помощью двух маркеров, по центру и по центру.
При перетаскиваниицентр, «точка прохода» остается там, где он был, и круг соответственно адаптируется.Когда вы перетаскиваете «сквозную точку», вы контролируете радиус круга.Когда вы перетаскиваете круг, два маркера перемещаются вместе с ним.
Проблема заключается в этом третьем варианте, потому что, как кажется, libchamplain настаивает на том, чтобы вытянуть объект вперед в порядке z, поэтому я не могу достичьцентральная точка больше.
Я открыл там проблему , предоставив исходный код моей программы на Python .Мое решение, очень грязное, состоит в том, чтобы убрать маркеры и создать их снова, каждый раз, когда круг перемещается.Новые маркеры появляются перед кружком, и это то, что я хочу, но это не то, что я хочу.
Интересно, есть ли у кого-нибудь более точное решение в текущей версии libchamplain.