How to scroll GridView views without using scroll bar in qml
I have a GridView which contains 'n' items. I want to scroll our grid view without using scroll bar
GridView{
id:product_grid
//width:1265 //height:621
boundsBehavior: Flickable.StopAtBounds
flow:GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition{
NumberAnimation{properties: "y,x"; easing.type: Easing.OutQuad }
}
qt qml
|
show 1 more comment
I have a GridView which contains 'n' items. I want to scroll our grid view without using scroll bar
GridView{
id:product_grid
//width:1265 //height:621
boundsBehavior: Flickable.StopAtBounds
flow:GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition{
NumberAnimation{properties: "y,x"; easing.type: Easing.OutQuad }
}
qt qml
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53
|
show 1 more comment
I have a GridView which contains 'n' items. I want to scroll our grid view without using scroll bar
GridView{
id:product_grid
//width:1265 //height:621
boundsBehavior: Flickable.StopAtBounds
flow:GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition{
NumberAnimation{properties: "y,x"; easing.type: Easing.OutQuad }
}
qt qml
I have a GridView which contains 'n' items. I want to scroll our grid view without using scroll bar
GridView{
id:product_grid
//width:1265 //height:621
boundsBehavior: Flickable.StopAtBounds
flow:GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition{
NumberAnimation{properties: "y,x"; easing.type: Easing.OutQuad }
}
qt qml
qt qml
edited Nov 13 '18 at 9:12
Vadim Kotov
4,43963247
4,43963247
asked Nov 13 '18 at 8:59
Shubham GuptaShubham Gupta
14
14
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53
|
show 1 more comment
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53
|
show 1 more comment
1 Answer
1
active
oldest
votes
After doing some research and fiddling, I was able to reduce it to two steps.
(1) Add import QtQuick.Controls 2.4
at the top of the file, among your other import commands.
(2) Add ScrollBar.vertical: ScrollBar { visible: false }
to your GridView
object.
Basically, you're overloading the scrollbar with a [your] custom scrollbar and make it invisible.
Here is an example:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
Read more:
GridView QML Type
Scrollbar QML Type
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277222%2fhow-to-scroll-gridview-views-without-using-scroll-bar-in-qml%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
After doing some research and fiddling, I was able to reduce it to two steps.
(1) Add import QtQuick.Controls 2.4
at the top of the file, among your other import commands.
(2) Add ScrollBar.vertical: ScrollBar { visible: false }
to your GridView
object.
Basically, you're overloading the scrollbar with a [your] custom scrollbar and make it invisible.
Here is an example:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
Read more:
GridView QML Type
Scrollbar QML Type
add a comment |
After doing some research and fiddling, I was able to reduce it to two steps.
(1) Add import QtQuick.Controls 2.4
at the top of the file, among your other import commands.
(2) Add ScrollBar.vertical: ScrollBar { visible: false }
to your GridView
object.
Basically, you're overloading the scrollbar with a [your] custom scrollbar and make it invisible.
Here is an example:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
Read more:
GridView QML Type
Scrollbar QML Type
add a comment |
After doing some research and fiddling, I was able to reduce it to two steps.
(1) Add import QtQuick.Controls 2.4
at the top of the file, among your other import commands.
(2) Add ScrollBar.vertical: ScrollBar { visible: false }
to your GridView
object.
Basically, you're overloading the scrollbar with a [your] custom scrollbar and make it invisible.
Here is an example:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
Read more:
GridView QML Type
Scrollbar QML Type
After doing some research and fiddling, I was able to reduce it to two steps.
(1) Add import QtQuick.Controls 2.4
at the top of the file, among your other import commands.
(2) Add ScrollBar.vertical: ScrollBar { visible: false }
to your GridView
object.
Basically, you're overloading the scrollbar with a [your] custom scrollbar and make it invisible.
Here is an example:
import QtQuick 2.0
import QtQuick.Controls 2.4 // important
// ...
GridView {
/* Your code
id: product_grid
boundsBehavior: Flickable.StopAtBounds
flow: GridView.LeftToRight
snapMode: GridView.SnapOneRow
displaced: Transition {
NumberAnimation { properties: "y,x"; easing.type: Easing.OutQuad }
}
*/
// magic (overloads vertical scrollbar, allowing for customisable scrollbars)
ScrollBar.vertical: ScrollBar {
visible: false // hides scrollbar
}
model: ListModel {
ListElement { letter: 'a' }
ListElement { letter: 'b' }
ListElement { letter: 'c' }
ListElement { letter: 'd' }
ListElement { letter: 'e' }
ListElement { letter: 'f' }
ListElement { letter: 'g' }
ListElement { letter: 'h' }
ListElement { letter: 'i' }
ListElement { letter: 'j' }
}
anchors.centerIn: parent
width: 300
height: 200
delegate: Column {
Text {
color: "white"
text: letter
anchors.horizontalCenter: parent.horizontalCenter
}
}
}
Read more:
GridView QML Type
Scrollbar QML Type
edited Nov 15 '18 at 1:26
answered Nov 14 '18 at 14:48
TrebuchetMSTrebuchetMS
2,4601822
2,4601822
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53277222%2fhow-to-scroll-gridview-views-without-using-scroll-bar-in-qml%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Please provide Minimal, Complete, and Verifiable example
– folibis
Nov 13 '18 at 9:02
I have added my code.
– Shubham Gupta
Nov 13 '18 at 9:08
I use snapMode property of GridView for scrolling the view when an item is dragged. But its not woking
– Shubham Gupta
Nov 13 '18 at 10:00
Did you try GridView.positionViewAtIndex?
– folibis
Nov 13 '18 at 12:57
Yes i tried but din work
– Shubham Gupta
Nov 13 '18 at 16:53