У меня есть следующий ColumnLayout:
ColumnLayout{ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter якоря.centerIn: родительский интервал: 0,065 * root.height идентификатор: searchLayout ПоискТекстРоу { текст: qsTr("Поиск по названию") } ВходнойПоиск { идентификатор: titleText } РоуЛайаут{ Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter ОтправитьКнопку { идентификатор: searchTitleButton onClicked:{ bitTitle.running = правда; рецептFetcher.searchByTitle(titleText.text); } } BusyIndicator{ масштаб: Math.min(root.width * 0,002, root.height * 0,002) идентификатор: битТитл работает: ложь } } } В RowLayout я хотел бы расположить кнопку отправки и индикатор занятости таким образом, чтобы кнопка отправки находилась посередине по горизонтали, а индикатор занятости находился справа от нее. Следующий код будет рассматривать их оба как один элемент и центрировать этот элемент, чего я не хочу.
Это код пользовательского класса SubmitButton:
RoundButton { масштаб: Math.min(root.width * 0,002, root.height * 0,002) Layout.alignment: Qt.AlignCenter contentItem: Текст { текст: «Отправить» цвет: завис ? «темно-красный»: «черный» горизонтальное выравнивание: Text.AlignHCenter вертикальное выравнивание: Text.AlignVCenter elide: Text.ElideRight } фон: прямоугольник { непрозрачность: 1 border.color: "оранжевый" радиус: родительский.радиус оранжевый цвет" Layer.enabled: родительский.hovered Layer.effect: DropShadow { прозрачная граница: правда оранжевый цвет" образцы: 40 } } } Есть еще одна проблема: мне хотелось бы масштабировать элементы в зависимости от разрешения приложения, чтобы они были пропорциональны размеру экрана.
Предполагая, что я масштабирую (scale: Math.min(root.width * 0,002, root.height * 0,002)) для обоих или одного из элементов, позиция будет испорчена после масштабирования :
На этом изображении, как вы можете видеть, центрирование кнопки отправки и индикатора занятости выполнено так, как будто они являются одним и тем же элементом.

После масштабирования SubmitButton и BusyIndicator возникает эта проблема:
