Welche Klassen benutzen für Gitter mit "Bausteinen"

Alles rund um die Programmierung mit Qt
Antworten
sieben
Beiträge: 10
Registriert: 18. Juni 2009 08:45

Welche Klassen benutzen für Gitter mit "Bausteinen"

Beitrag von sieben »

Hallo ,

ich bin völlig neu bei Qt und habe die ersten Versuche mit Beispielen und Signals & Slots erfolgreich hinter mich gebracht.

Ich kenne mich also noch nicht so gut aus und wüsste aber gerne, in welche Richtung ich schauen müsste, um folgendes Problem in Angriff zu nehmen.

Vielleicht ist ja jemand so nett und kann mir als altgedienter Qtler ein paar wichtige Hinweise auf Klassen, Möglichkeiten etc. geben :)

Ich brauche eine Anordnung von "Bausteinen" in einem Gitterraster, also quasi wie Karopapier, vielleicht 40*40px.
Diese "Bausteine" sind selbst in der Höhe nur so groß wie ein Kästchen, können in der Breite aber variieren. Das soll auch der User über einen "Knopf" oder so etwas am Baustein rechts z.B. - wenn ich es selbst zeichnen muss, vielleicht einfach ein Rechteck anderer Farbe - durch Ziehen bewerkstelligen, auch hier nur über ganze Kästchen des Rasters.

Man soll die Bausteine außerdem umher ziehen können. Wichtig dabei ist, dass sie eben immer bei den Kästchen einrasten.
Irgendwie muss ich dann ihre Position und Ausdehnung im Gitterraster speichern und darauf zugreifen können, ich würde sie auch gerne beschriften. Man kann sie sich also einfach als Rechtecke mit Schrift drin und einem Knöpfchen zum länger/kürzer machen vorstellen.

Bislang scheint es mir, als müsste ich mich näher mit "GraphicsView" auseinandersetzen...
Gibt es zu diesem Problem kompetenten Rat, Tipps oder Hinweise? :)
Ich hoffe, ich konnte das einigermaßen beschreiben...


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

Beitrag von upsala »

Mit der QGraphicsView liegst du schon mal richtig. Ob eine Bewegung für ein Item erlaubt ist, kann man für jedes Item separat einstellen. (QGraphicsItem::ItemIsMovable)

Mit itemChange kannst du die Positionen nachkorriegieren um einzurasten.

Das 40.000Chips-Example wäre event. auch recht hilfreich.
sieben
Beiträge: 10
Registriert: 18. Juni 2009 08:45

Beitrag von sieben »

Dankeschön, das ging ja schnell! :)

Ob mir wohl auch QGraphicsWidget helfen könnte?
Dann könnte ich ja so etwas ähnliches wie QSizeGrip da hinein setzen, oder? Naja, vielleicht bleib ich erstmal beim QGraphicsItem...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Versuchen könntest du es, ob es funktioniert weis ich aber nicht.
Antworten