QML, ScrollView y eventos táctiles en el escritorio -- qt campo con qml camp Relacionados El problema

QML, ScrollView and touch events on desktop


1
vote

problema

Español

Desde hace unos meses, directamente en ListView Artículo podemos usar ScrollBar.vertical: ScrollBar {} para proporcionar la barra de desplazamiento adecuada. Desafortunadamente, no se comporta de forma nativa para mí, así que decidí rodear cada lista de lista en el proyecto con ScrollView y ahora funciona bien, excepto una cosa:

  import QtQuick 2.9 import QtQuick.Controls 2.2 //import QtQuick.Controls 1.4  ApplicationWindow {   visible: true   width: 640   height: 480   title: qsTr("Scroll")    ScrollView {     anchors.fill: parent      ListView {       anchors.fill: parent       model: 20        delegate: Text {         text: "Item " + (index + 1)         height: 50         width: parent.width       }     }   } }   

En el ejemplo anterior, no puedo usar el evento táctil para desplazar la vista. Estoy trabajando en Windows 10 y no importa si uso ScrollView que proviene de qtquick.controls 1.4 o qtquick.controls 2.2 Si presiono y mantienes el botón del mouse, la vista no seguirá el mouse. Lo hace en caso de ListView solo.

¿Hay alguna manera de restaurar este comportamiento para este método particular de manejar las barras de desplazamiento?

Original en ingles

Since few months, directly in ListView item we can use ScrollBar.vertical: ScrollBar {} to provide appropriate scrollbar. Unfortunately it doesn't behave natively for me so I decided to surround every ListView in the project with ScrollView and now it works fine except one thing:

import QtQuick 2.9 import QtQuick.Controls 2.2 //import QtQuick.Controls 1.4  ApplicationWindow {   visible: true   width: 640   height: 480   title: qsTr("Scroll")    ScrollView {     anchors.fill: parent      ListView {       anchors.fill: parent       model: 20        delegate: Text {         text: "Item " + (index + 1)         height: 50         width: parent.width       }     }   } } 

in the example above I cannot use touch event to scroll the view. I'm working on windows 10 and it doesn't matter if I use ScrollView that comes from QtQuick.Controls 1.4 or QtQuick.Controls 2.2 If I press and hold the mouse button, the view won't follow the mouse moves just like it does in case of ListView alone.

Is there any way to restore this behavior for this particular method of handling scrollbars?

     

Lista de respuestas

0
 
vote

Uso Flickable { } en lugar de ScrollView .

* Editar *

Flickable {} Permite al usuario desplazarse hacia la izquierda y hacia la derecha mediante eventos táctiles, como golpear, arrastrar, etc.

Está diseñado para pantallas táctiles. Lo usas de la misma manera que un ScrollView {}, como clase de contenedores.

  Flickable {     anchors.fill: parent          ListView {           anchors.fill: parent           model: 20     } }   
 

use Flickable { } instead of ScrollView.

* EDIT *

Flickable {} allows the user to scroll left and right using touch events such as flicking, dragging, etc.

It is designed for touch screens. You use it the same way as a ScrollView {}, as a container class.

Flickable {     anchors.fill: parent          ListView {           anchors.fill: parent           model: 20     } } 
 
 
 
 

Relacionados problema

2  Cómo agregar un filtro de búsqueda a Combobox  ( How to add a search filter to combobox ) 
Tengo un combobox en QML que tiene más de 2000 artículos. Hay demasiados artículos para desplazarse hasta el último elemento. ¿Cómo puedo agregar agregar un f...

4  Error al iniciar la superficie de video debido al error bloqueado de hilo principal en QML  ( Failed to start video surface due to main thread blocked error in qml ) 
Escribí una aplicación de muestra QML- QT5 para la pantalla de WebCam que da un error: OS: Ubuntu 13.04 QT Creator 2.7.1 basado en QT 5.0.2 (64 bits) Faile...

3  ¿Cómo seleccionar diferentes tipos de teclado en QML?  ( How to select different keyboard types in qml ) 
¿Hay una manera de seleccionar un tipo específico teclado (por correo electrónico, direcciones URL, etc.) en QML para campos de texto? (por ejemplo, para iOS ...

5  Programación en tiempo real de QML  ( Qml realtime programming ) 
Encontré un video que muestra algo que se llama 'programación en tiempo real' en el video. Esto se puede ver aquí . Creo que la idea es editar archivos Q...

2  Importar qtquick.controls 2.1 QML Módulo no encontrado  ( Import qtquick controls 2 1 qml module not found ) 
Estoy usando la base QT Creator 2.4.1 en QT 4.7.4 (32 bits) en Windows. Tengo que crear una tabla en QML con vista de tabla. Cuando intento importar qtquick.c...

1  Cómo pasar objetos entre QML  ( How to pass objects between qml ) 
Quiero pasar un objeto de un QML a otra QML. Tengo un modelo de lista. <?php namespace App; use IlluminateDatabaseEloquentModel; class Post extends ...

0  Salida de video duplicada en el mismo elemento de cámara QML  ( Duplicated video output in the same qml camera item ) 
Estoy tratando de averiguar puede ser el problema de mi código donde intento usar una cámara en un tablero IMX.6 . El problema es que el código gapi.auth.au...

2  QML Newbie que necesita ayuda para acceder a las propiedades de los elementos de C ++  ( Qml newbie needing help accessing item properties from within c ) 
Estoy desarrollando una aplicación en QT y QML para acceder a algunos datos XML y mostrar los resultados. El XML se descarga / analiza de C ++ y esto funcio...

72  Diferencia entre qt qml y qt rápido  ( Difference between qt qml and qt quick ) 
Estoy confundido con QML, Qtquick 1.0 y Qtquick 2.0. ¿Cuál es la diferencia entre ellos? Yo uso qtcreator 2.8.1 basado en QT 5.1.1. Quiero desarrollar un pr...

2  Custom Spinbox con pantalla de spinbox "Classic"  ( Custom spinbox with classic spinbox display ) 
Necesito usar un doble spinbox para mi QML view y en este caso, basado en mi spinbox en este ejemplo . array = null; 0 Parece que cuando usa un s...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos