У меня проблемы с перемещением виджета в другой виджет:
Это может быть просто, но я просто не могу его получить:
Мой основной виджет находится в QHBoxlayout
Мой дочерний виджет находится в макете основного виджета (тумблер выделен желтым цветом на пи c) который мне нужно переместить
Мне нужно переместить дочерний виджет quickWidgettum
, который является просто тумблером в родительском виджете.
Родительский виджет mstrWnd
- это все остальное на экране.
Здесь код C ++:
mstrWnd = new QWidget;
mstrWnd->setObjectName(STR_MASTER_WINDOW_NAME);
mstrWnd->setWindowTitle(getSettingI(MSTR_APP_TITLE));
mstrWnd->setGeometry(getSettingI(MSTR_APP_X).toInt(),
getSettingI(MSTR_APP_Y).toInt(),
getSettingI(MSTR_APP_WIDTH).toInt(),
getSettingI(MSTR_APP_HEIGHT).toInt());
mstrWnd->setWindowFlags(Qt::FramelessWindowHint | Qt::Window);
mstrWnd->setWindowState(Qt::WindowFullScreen);
QHBoxLayout* laos = new QHBoxLayout();
mstrWnd->setLayout(laos);
QQuickView* quickView = new QQuickView(QUrl::fromLocalFile(QDir::currentPath() + "\\Resources\\videos\\aos.qml"));
quickView->setResizeMode(QQuickView::SizeRootObjectToView);
quickWidgettum = new QWidget;
quickWidgettum = QWidget::createWindowContainer(quickView);
laos->addWidget(quickWidgettum);
А вот часть QML:
import QtQuick 2.12
import QtQuick.Window 2.2
import QtQuick.Controls 2.12
Rectangle {
width: frame.implicitWidth + 10
height: frame.implicitHeight + 10
function formatText(count, modelData) {
var data = count === 12 ? modelData + 1 : modelData;
return data.toString().length < 2 ? "0" + data : data;
}
FontMetrics {
id: fontMetrics
}
Component {
id: delegateComponent
Label {
text: formatText(Tumbler.tumbler.count, modelData)
opacity: 1.0 - Math.abs(Tumbler.displacement) / (Tumbler.tumbler.visibleItemCount / 2)
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: fontMetrics.font.pixelSize * 1.25
}
}
Frame {
id: frame
padding: 0
anchors.centerIn: parent
Row {
id: row
Tumbler {
id: hoursTumbler
model: 12
delegate: delegateComponent
}
Tumbler {
id: minutesTumbler
model: 60
delegate: delegateComponent
}
Tumbler {
id: amPmTumbler
model: ["AM", "PM"]
delegate: delegateComponent
}
}
}
}