Próbuję pokazać zdjęcie w pełnym widoku przy użyciu QGraphicsScene. Ale jeśli kiedykolwiek wstawię QgraphicsScene do QGraphicsView, otrzymuję pasek przewijania. Próbowałem na tak wiele sposobów, ale wszystko poszło do żył. Czy ktoś może mi powiedzieć, jak uzyskać pełny widok bez paska przewijania.Qt - QGraphicsView bez ScrollBar
5
A
Odpowiedz
5
QGraphicsView v;
v.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
v.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
Aby ustawić przewijanie programowo raz zostały one ukryte, użyj jednego z przeciążeń v.ensureVisible()
.
8
Być może korzystasz z pasków przewijania, ponieważ scena jest większa niż obszar do wykorzystania w widoku graficznym. Domyślnie QGraphicsView ma 1-pikselowy margines. Aby rozwiązać ten problem, można spróbować:
QRect rcontent = graphicsView.contentsRect();
graphicsView.setSceneRect(0, 0, rcontent.width(), rcontent.height());
byłem coraz przewijania bo ręczne ustawienie rect sceny do wielkości elementu graficznego byłem dodania - która była tak duża jak widget QGraphicsView. Nie brałem pod uwagę marży.
Powiązane problemy
- 1. QGraphicsView fitInView marże
- 2. Uzyskać widoczny prostokąt QGraphicsView?
- 3. Rozwój GUI Qt - Wyświetlanie siatki 2D przy użyciu QGraphicsView
- 4. Wdrażanie suwak zoom QGraphicsView
- 5. Dekodowanie z QGraphicsScene i QGraphicsView
- 6. Ukryj RecyclerView scrollbar
- 7. PJSIP GreenJ bez Qt?
- 8. Scrollbar bez stałej wysokości/wysokość dynamicznych z przewijania
- 9. force scrollbar w Safari
- 10. Dodawanie strzałek scrollBar
- 11. Facebook Apps Horizontal Scrollbar
- 12. webkit css scrollbar stylizacja
- 13. PrimeFaces DataTable scrollBar
- 14. Dopasowywanie grubości QPen podczas skalowania QGraphicsView?
- 15. Antyaliasing nie działa w QGraphicsView
- 16. MousePressEvent, przesunięcie pozycji w QGraphicsView
- 17. Jak zrobić qt qgraphicsview skalę, aby nie wpływać na wzór stipple?
- 18. css: margin-top powoduje scrollbar
- 19. Niestandardowy listbox Scrollbar style Issue
- 20. Czy można używać wątku Qt bez dziedziczenia jakiegokolwiek obiektu Qt?
- 21. Jak zachować szerokość piksela QPen taką samą przy powiększaniu QGraphicsView
- 22. Qt5 C++ QGraphicsView: Obrazy nie pasują do ramki widoku
- 23. Qt zakreślony tekst bez cieniowania czcionka
- 24. Używanie Qt z Visual Studio bez dodatku
- 25. Tworzenie okna bez ramki z Qt
- 26. Zmień kolor tła ScrollBar w ScrollViewer WPF
- 27. excel - vba - userform - frame - set scrollbar position
- 28. Nie można ustawić szerokości webkit-scrollbar-thumb
- 29. Android, jak ustawić ScrollBar w Edittext?
- 30. Czy webkit-scrollbar działa z webkit-transition?
Czy istnieje sposób na wyłączenie marginesu 1-pikselowego? Twój kod rozwiązuje problem, ale nadal wygląda na oczywistą naprawę złych ustawień domyślnych. – Trilarion
Nie; margines ten jest zakodowany na sztywno w ramach 'fitInView' (patrz QTBUG-11945). Jedynym sposobem na pozbycie się tego jest napisanie własnego 'fitInView'. Przeprowadzono dyskusję na temat ujawnienia marginesu za pośrednictwem interfejsu API, ale nie został on jeszcze wprowadzony do żadnej wersji Qt. – AndrewS