Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make scrollbar always visible on Flckable in QML

Tags:

qt

qml

flickable

I would like to make Scrollbar.vertical in Flickable area is always visible. currently it is visible upon clicking. Also the text area is overlapping with scroll bar. How can i sepearate scrollbar with text area in the following qml codeenter image description here

import QtQuick 2.0
import QtQuick.Controls 2.0

Flickable {
    id: flickable
    anchors.fill: parent


    TextArea.flickable: TextArea {
        text: "The Qt QML module provides a framework for developing applications and libraries with the QML language.
It defines and implements the language and engine infrastructure, and provides an API to enable application developers to
extend the QML language with custom types and integrate QML code with JavaScript and C++.

The Qt QML module provides both a QML API and a C++ API.
Note that while the Qt QML module provides the language and infrastructure for QML applications,
the Qt Quick module provides many visual components, model-view support, an animation framework,
and much more for building user interfaces.
For those new to QML and Qt Quick, please see QML Applications for an introduction to writing QML applications."
        wrapMode: TextArea.Wrap
        font.pixelSize: 20
    }
    ScrollBar.vertical: ScrollBar {
        width: 40
    }
}
like image 339
Bupa Avatar asked Feb 12 '17 15:02

Bupa


1 Answers

If upgrading to Qt 5.9, QtQuick.Controls 2.2 introduces a policy property that can help e.g.

import QtQuick 2.0
import QtQuick.Controls 2.2

Flickable {
    id: flickable
    ...
    ScrollBar.vertical: ScrollBar {
        width: 40
        anchors.left: parent.right // adjust the anchor as suggested by derM
        policy: ScrollBar.AlwaysOn
    }
}
like image 86
derke Avatar answered Nov 16 '22 02:11

derke