¿Cómo se pueden ocultar las barras de desplazamiento en un QScrollArea
? Actualmente uso el método hide()
en las barras de desplazamiento devueltas por QScrollArea::horizontalScrollBar()
y QScrollArea::verticalScrollBar()
pero el espacio reservado para las barras de desplazamiento aún permanece. Obviamente, esto se ve muy feo y no es eficiente en el uso del espacio. Si elimino las barras de desplazamiento por completo ya no puedo desplazarme fácilmente a un punto específico usando QScrollBar::setValue()
.¿Cómo ocultar la barra de desplazamiento en QScrollArea?
6
A
Respuesta
14
Usar este código:
QAbstractScrollArea::setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff)
QAbstractScrollArea::setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff)
1
Esta pieza de código puede hacer el trabajo:
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
verticalScrollBar()->hide();
verticalScrollBar()->resize(0, 0);
1
De Qt documents para scrollContentsBy()
:
llama a esta función con el fin de desplazarse mediante programación es un error, utilice las barras de desplazamiento en su lugar (por ejemplo, llamando directamente a QScrollBar :: setValue()).
14
Puede ocultarlo con una hoja de estilo. Utilice height:0px;
para ocultar la barra de desplazamiento horizontal y width=0px;
para ocultar la barra de desplazamiento vertical. Al igual que :
horizontalScrollBar()->setStyleSheet("QScrollBar {height:0px;}");
verticalScrollBar()->setStyleSheet("QScrollBar {width:0px;}");
y listo barras de desplazamiento .No, y todavía se puede manipularlos utilizando setValue()
!.
Y sí, estuve pensando durante 3 años de una respuesta. Así que finalmente puedo comprar algunos bocadillos.
Cuestiones relacionadas
- 1. Ocultar la barra de desplazamiento en WebView
- 2. Desplazamiento programático QScrollArea
- 3. Ocultar barra de desplazamiento de HorizontalScrollView
- 4. Ocultar barra de desplazamiento en pre si no es necesario
- 5. ocultar una barra de desplazamiento en un div
- 6. ¿Utiliza jQuery para ocultar la barra de desplazamiento div, pero conserva el desplazamiento?
- 7. cómo ocultar la barra de desplazamiento horizontal en la etiqueta div
- 8. ¿Cómo ocultar la barra de direcciones en iPhone?
- 9. Cómo ocultar la barra de desplazamiento vertical en .NET Control ListView en modo Detalles
- 10. ¿Cómo ocultar/eliminar la barra de desplazamiento en UIScrollview en iPhone?
- 11. Ocultar barra de desplazamiento horizontal html pero no vertical
- 12. Cómo ocultar la barra de desplazamiento horizontal de un ListView en JavaFX
- 13. Ocultar barra de navegación en la rotación
- 14. Cómo mostrar siempre la barra de desplazamiento
- 15. Ocultar barra de notificaciones
- 16. ¿Oculta la barra de desplazamiento horizontal en un iframe?
- 17. cómo ocultar la barra de estado en la aplicación Iphone
- 18. Ocultar la barra de desplazamiento, pero mantener la capacidad de desplazarse con sentido nativo
- 19. iPhone - ¿Es posible ocultar la barra de desplazamiento nativa en UIWebView?
- 20. ¿Es posible ocultar la barra de desplazamiento en un elemento HTML textarea?
- 21. Desplazamiento de la barra de desplazamiento del navegador
- 22. Cómo ocultar completamente la barra de navegación en iPhone/HTML5
- 23. cómo ocultar la barra de estado en eclipse
- 24. ¿Cómo ocultar la barra de herramientas en Eclipse 4.2?
- 25. ¿Cómo ocultar la barra de progreso en Android?
- 26. cómo estilo la barra de desplazamiento de en iframe?
- 27. Barra de desplazamiento Textarea
- 28. Android: mostrar/ocultar la barra de estado/barra de estado
- 29. Cómo ocultar javascript window.open barra de direcciones/barra de direcciones?
- 30. Aumentar autocompletar la barra de desplazamiento tamaño
Si lo hago así, ya no puedo desplazarme a un punto específico usando QScrollBar :: setValue() (porque las barras de desplazamiento no existen) – pafcu
Si necesita una barra de desplazamiento cuando sea necesario, use la política: Qt :: ScrollBarAsNeeded. Si desea desplazarse por el contenido programático, use QAbstractScrollArea :: scrollContentsBy (int dx, int dy) –
[Apparenly] (http://doc.qt.io/qt-5/qabstractscrollarea.html#scrollContentsBy) debe llamar a la barra de desplazamiento 'setValue()' en lugar de 'scrollContentsBy()'. – Schollii