Я показываю это как C ++, в котором находится документация, на которую я смотрю. Не должно быть слишком сложно конвертировать в python.
Вам необходимо создать пользовательскую производную QLayoutItem
, которая переопределяет bool hasHeightForWidth()
и int heightForWidth( int width)
, чтобы как-то сохранить соотношение сторон. Вы можете либо передать изображение и запросить его, либо просто установить соотношение напрямую. Вам также необходимо убедиться, что функция widget()
возвращает указатель на соответствующую метку.
Как только это будет сделано, вы можете добавить элемент макета в макет так же, как в виджете. Поэтому, когда ваш ярлык будет добавлен, измените его, чтобы использовать свой класс элементов макета.
На самом деле я не проверял ничего из этого, поэтому на данный момент это теоретическое решение. Я не знаю ни одного способа сделать это решение через дизайнера, если бы это было желательно.