Estoy tratando de mostrar una imagen en su totalidad usando QGraphicsScene. Pero cuando coloco el QgraphicsScene dentro de QGraphicsView, obtengo una barra de desplazamiento. Lo intenté de muchas maneras, pero todas fueron a las venas. Entonces, ¿alguien puede decirme cómo obtener la vista completa sin la barra de desplazamiento?Qt - QGraphicsView sin ScrollBar
5
A
Respuesta
5
QGraphicsView v;
v.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
v.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
Para ajustar el desplazamiento mediante programación una vez que éstos se han ocultado, utilice una de las sobrecargas de v.ensureVisible()
.
8
Es posible que esté recibiendo barras de desplazamiento porque la escena es más grande que el área utilizable dentro de la vista de gráficos. Por defecto, un QGraphicsView viene con un margen de 1 píxel. Para solucionar este problema, puede intentar:
QRect rcontent = graphicsView.contentsRect();
graphicsView.setSceneRect(0, 0, rcontent.width(), rcontent.height());
que había estado recibiendo barras de desplazamiento, porque yo estaba sentado manualmente la escena rect al tamaño del elemento gráfico estaba añadiendo - que era tan grande como el widget QGraphicsView. No estaba teniendo en cuenta el margen.
Cuestiones relacionadas
- 1. QT 4.5 - cómo obtengo un dispositivo QPainter en un QGraphicsView
- 2. QGraphicsView y cursores personalizados
- 3. QGraphicsView y eventFilter
- 4. deslizador de zoom QGraphicsView
- 5. QGraphicsView: Deshabilitar el desplazamiento automático
- 6. ¿Obtiene el rectángulo visible de QGraphicsView?
- 7. QGraphicsView desplazamiento y escala/recorte de imagen
- 8. Mosaico con QGraphicsScene y QGraphicsView
- 9. IE7 Scrollbar no funciona
- 10. Problemas QTreeView Horizontal Scrollbar
- 11. UIScrollView scrollbar color personalizado?
- 12. Webkit scrollbar dynamic styling
- 13. cómo desplazar imágenes en QGraphicsView
- 14. Clases base sin Qt
- 15. Establecer un color de fondo plano para un widget QGraphicsView
- 16. Primeros pasos con un juego basado en mosaico en Qt usando QGraphicsScene y QGraphicsView
- 17. Desarrollo de interfaz gráfica de usuario de Qt: visualización de una cuadrícula 2D utilizando QGraphicsView
- 18. Cómo vincular scrollbar y scrollviewer
- 19. ¿Puedo usar Qt sin qmake o Qt Creator?
- 20. animación GIF en Qt
- 21. DropDown Menu con ScrollBar en .NET
- 22. MousePressEvent, desplazamiento de posición en QGraphicsView
- 23. Scrollbar aparece/desaparece evento en jQuery?
- 24. ¿Cómo establecer scrollbar thumb programmatically en Android?
- 25. Div Scrollbar - ¿Alguna manera de darle estilo?
- 26. NetBeans: cómo agregar ScrollBar a JPanel
- 27. WPF: ¿Cómo extraer Scrollbar From ScrollViewer programmatically?
- 28. Android cómo configurar ScrollBar en Edittext?
- 29. ¿Es posible cambiar el color de ScrollBar?
- 30. WPF ListView ScrollBar visible a falso
¿Hay alguna forma de desactivar el margen de 1 píxel? Tu código me soluciona el problema, pero aún parece una solución obvia de un mal valor predeterminado. – Trilarion
No; este margen está codificado dentro de 'fitInView' (ver QTBUG-11945). La única forma de deshacerse de él es escribir su propio 'fitInView'. Se ha discutido un poco para exponer el margen a través de una API, pero aún no se ha incluido en ninguna versión de Qt. – AndrewS