gpt4 book ai didi

qt - 当 QML 项目的大小发生变化时,如何保持其右上角的位置?

转载 作者:行者123 更新时间:2023-12-02 17:09:32 25 4
gpt4 key购买 nike

我有一个可以移动(通过拖动)的工具栏。根据上下文,此工具栏的内容会发生变化,其大小也会相应地发生变化。

我的问题是,当尺寸发生变化时,左上角的位置保持不变,而右边框在移动(默认和正常行为)。但我希望右上角的位置保持不变,而左边框移动。

illustration

从屏幕 1 到 2,工具栏变小,显示为蓝色矩形。我希望它像红色矩形一样放置。

我怎样才能做到这一点?无需锚定在屏幕右侧,因为工具栏是可移动的。

最佳答案

首先想到的是将工具栏包裹在一个项目中,并将工具栏锚定在项目的右上角。

import QtQuick 2.8
import QtQuick.Controls 2.3

ApplicationWindow {
id: window
width: 800
height: 800
visible: true

Slider {
id: slider
value: 200
to: 400
}

Item {
x: 600

ToolBar {
id: toolBar
anchors.top: parent.top
anchors.right: parent.right

implicitWidth: slider.value

MouseArea {
anchors.fill: parent
drag.target: toolBar.parent
}
}
}
}

Item 本身不呈现任何内容,并且具有“零”大小,以便正确锚定 ToolBar。

编辑:感谢@GrecKo 提出 MouseArea 的想法。 :) 这允许您拖动工具栏。

关于qt - 当 QML 项目的大小发生变化时,如何保持其右上角的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49937222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com