Qt, zachowanie QGraphicsScene tak jak map googla

Odpowiedz Nowy wątek
2011-07-10 12:10
takijeden
0

chcę sobie zrobić mapki googla na desktopie

już wiele elementów sobie poskładałem
ale nie mam jednego ważnego elementu - chodzi o to, aby przesuwanie QGraphicsScene wewnątrz QGraphicsView zachowywało się tak jak jak w mapach googlowych, czyli aby przesuwało się bez końca w każdą ze stron

znalazłem coś takiego
http://www.qtcentre.org/wiki/[...]w:_Smooth_Panning_and_Zooming

ale tam (w tym przykładzie) scena przesuwa się w granicach takich jak jej rozmiar - czyli np zawsze jak jej prawa górna krawędź będzie widoczna, to już dalej w lewo i w dół nie przesunie się

jak to zrobić?

Pozostało 580 znaków

2011-07-10 13:25
0

Widok dziedziczy po QAbstractScrollArea,więc raczej nie pozwoli ci na przesuwanie poza granice sceny.
Ale jeśli bardzo chcesz przewijać poza tą wielkość,to pokombinuj z ustawieniami min/max scroll barów po dodaniu sceny,tylko taki sposób na "oszukanie" QGraphicsView mi przychodzi na myśl


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB, 2011-07-10 13:25

Pozostało 580 znaków

2011-07-11 10:06
0

Swoja drogą, dziwny wybór: przesuwać QGraphicsScene. Na pewno poza mapą masz inne kontrolki (kompas, skala, jakieś przyciski), które powinny być w graphics view i nie powinny się przesuwać.
Swoją drogą, jeśli chcesz mieć zapętlenie scrollowania, to twój kod powinien odpowiadać, ze odpowiednie powiększenie pokazywanego obiektu i przeskok jego przesunięcia (ten link który podałeś ma się nijak do problemu).


Jeśli chcesz pomocy, NIE pisz na priva, ale zadaj dobre pytanie na forum.

Pozostało 580 znaków

2011-07-11 17:42
takijeden
0
MarekR22 napisał(a)

Swoja drogą, dziwny wybór: przesuwać QGraphicsScene. Na pewno poza mapą masz inne kontrolki (kompas, skala, jakieś przyciski), które powinny być w graphics view i nie powinny się przesuwać.
Swoją drogą, jeśli chcesz mieć zapętlenie scrollowania, to twój kod powinien odpowiadać, ze odpowiednie powiększenie pokazywanego obiektu i przeskok jego przesunięcia (ten link który podałeś ma się nijak do problemu).

może i dziwny
ale chciałbym się jakoś nauczyć QT - no i to mi wpadło na myśl, aby mapkę zrobic, bo z jednej strony nie jest to coś mega gigantycznego, a z drugiej jaies problemy trzeba przy tym rozwiązać

nie upieram się że najlepszy, ale takie cos znalazłem w przykładach i tyle

Pozostało 580 znaków

2011-07-11 19:41
0

Chcesz sobie poćwiczyć Graphics Framework?To mam dla ciebie zadanie:
Spraw,aby GraphicsItemy widoczne na scenie dało się łapać i przesuwać myszą,ale tylko w granicach wielkości sceny-jeśli item miałby wyjechać poza jej obszar wówczas ma ignorować przesunięcie.

Jak ja się z tym borykałem pracowałem na Qt 4.5.0,teraz (4.8.0 bodajże) może programiści dodali odpowiednią funkcjonalność


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]
edytowany 1x, ostatnio: MasterBLB, 2011-07-11 19:42
toś się niepotrzebnie namęczył: http://doc.qt.nokia.com/latest/qgraphicsitem.html#GraphicsItemFlag-enum QGraphicsItem::ItemIsMovable, ograniczenie pozycji przez http://doc.qt.nokia.com/latest/qgraphicsitem.html#GraphicsItemChange-enum QGraphicsItem::ItemPositionChange - MarekR22 2011-07-12 09:37

Pozostało 580 znaków

2011-07-11 21:22
takijeden
0
MasterBLB napisał(a)

Chcesz sobie poćwiczyć Graphics Framework?To mam dla ciebie zadanie:
Spraw,aby GraphicsItemy widoczne na scenie dało się łapać i przesuwać myszą,ale tylko w granicach wielkości sceny-jeśli item miałby wyjechać poza jej obszar wówczas ma ignorować przesunięcie.

Jak ja się z tym borykałem pracowałem na Qt 4.5.0,teraz (4.8.0 bodajże) może programiści dodali odpowiednią funkcjonalność

Jak się uporam z tym co mi do głowy weszło
teraz mam taką koncepcję aby zrobić własny Widget który ma w sobie Qpixmap albo QImage i żeby to jakoś obrabiać

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0