scroll(int x, int y) und update()

Alles rund um die Programmierung mit Qt
Antworten
TheClerk
Beiträge: 23
Registriert: 21. Oktober 2009 14:16

scroll(int x, int y) und update()

Beitrag von TheClerk »

Hallo,

ich habe gerade das Forum hier durchsucht und keine Antwort auf meine Frage gefunden, daher stelle ich sie hier. Eigentlich kann des Rätsels lösung nicht so schwer sein aber ich habe sie noch nicht gefunden.

Wenn ich in einer von QGraphicsview abgeleiteten Klasse zum Beispiel this->scroll(10, 0) auf eine Taste, sagen wir einmal X, lege, verschiebt sich die Ansicht auch brav 10 Pixel nach rechts. Nur rückt von links nichts nach, obwogl eigentlich noch Informationen in der Scene vorhanden sind. Auch ein anschließender Aufruf von this->update() oder this->repaint() bringt nichts. Das Widget ist einem centralWidget (QWidget) untergeordnet, welches einem QMainWindow untergeordnet ist.
Woran liegt es, dass nicht neu gezeichnet wird? Füge ich zum Beispiel Scrollbalken ein, funktioniert alles wunderbar (Scrollen mittels 'X' natürlich nicht)...

Grüße,
Simon
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Code: Alles auswählen

this->translate(10, 0)
TheClerk
Beiträge: 23
Registriert: 21. Oktober 2009 14:16

Beitrag von TheClerk »

Damit ändert sich in der Ansicht nichts.
Verschiebe ich damit nicht die Scene Koordinaten gegenüber den View Koordinaten? Das dürfte sich ja in der Ansicht nicht wiederspiegeln.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Dann ändere die Werte der QScrollBars...
TheClerk
Beiträge: 23
Registriert: 21. Oktober 2009 14:16

Beitrag von TheClerk »

Und wie mache ich das? Ich habe die ScrollBars über die ScrollBarPolicy ausgeschaltet, ist das also nur für die Darstellung?

Wenn ich sowas wie:

this->horizontalScrollBar()->setValue(10);

schreibe, kommt die Fehlermeldung:

invalid use of incomplete type 'struct QScrollBar'
forward declaration of 'struct QScrollBar'

Scrollen ist doch eine beliebte Funktionalität von Widgets... das muss doch möglich sein :(
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

'C++-Grundlagen' ist doch eine beliebte Funktionalität von Qt... das muss doch möglich sein...
TheClerk
Beiträge: 23
Registriert: 21. Oktober 2009 14:16

Beitrag von TheClerk »

Jetzt mal in aller Höflichkeit:

Wenn Du keine Lust hast, nützliche Beiträge im Newbe-Forum zu leisten, dann lass es doch einfach. Ich hasse antworten, die aus einem nichtvollständigen Satz mit drei Punkten am Ende bestehen. Ich mache mir Mühe, um meine Fragen ordentlich zu Formulieren und dann sowas.
Du bist nicht der einzige der Sarkasmus beherrscht, da brauchst Du Dir keine Illusionen zu machen. Du bist auch keines Falls etwas Besonderes. Ich verweise hier auf die Band "WIZO" und das Lied "Raum der Zeit" hör es Dir an und gewinne daraus etwas für Dich.

Es tut mir leid, dem Inhaltsleeren Gehabe verfallen zu sein. Wenn also tatsächlich jemand eine Idee hat, so wäre ich sehr dankbar.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Schlecht geschlafen? Die eigenen Punkte übersehen? Den Header von QScrollBar mittlerweile includiert?
TheClerk
Beiträge: 23
Registriert: 21. Oktober 2009 14:16

Beitrag von TheClerk »

Zum Zeitpunkt des letzten posts noch gar nicht geschlafen. Ist mir jetzt ja nen bisschen peinlich mit dem vergessenen header. Hättest Du aber auch gleich sagen können ;)

Danke für die Hilfe, läuft jetzt.
Antworten