1

ScrollView画面に合わせて拡大するために何かを取得しようとしてwidthいます。はScrollViewメイン ウィンドウに固定されています。

たとえば、次のようになりますRectangle

ScrollView {
    anchors.fill: parent //mainWindow
    Rectangle {
        color: "light grey"
        height: 1000
        width: mainWindow.width
    }
}

しかし、垂直スクロールバーが表示されると、Rectangle. 魔法の定数を使用して修正できます。

width: mainWindow.width - 20

しかし、誰かが自分のコンピューターに大きなスクロールバーを持っている場合はどうなるでしょうか? また、垂直スクロールバーが表示されていない場合、右側に醜い空のスペースが残ります。

内部の利用可能なスペースを自動的に学習する方法はありますScrollViewか?

4

1 に答える 1

2

スクロール バーを明示的に調整する必要はありません。利用可能な親スペース全体を埋めるようにすることができます。余白を指定する場合は、次のようにします。

ScrollView {
    id: scrollView
    anchors.fill: parent // mainWindow ?
    anchors.centerIn: parent // anchoring as asked
    anchors.margins: 20

    contentItem:
        Rectangle {
        id: rectScroll
        width: scrollView.viewport.width  // set as viewport
        height: 1000 // set to what you need
    }
}

元の問題は、主にset toのwidthプロパティまたはより適切であるため解決されました。後者は、スクロール領域の正確なビューポートであり、親ではない限り、間違いなく優れています(一般に、 this のみが含まれているとは限りません)。Rectangleparent.parent.widthscrollView.viewport.widthwidthwidthScrollView

于 2015-11-23T04:43:59.240 に答える