Qt QTableWidget



  • Hallo zusammen,

    kann mir jemand sagen ob es möglich ist mehreren Instanzen der Klasse QTableWidget übereinander zu nutzen?

    ich möchte via mouse event und drag&drop Figuren hin und her bewegen, aber die erste Instanz soll nur als Spielfeld dienen und die Figuren werden dann auf der zweiten ebene bewegt. Beide Instanzen sollen gleich sein nur das die obere z.B. nicht sichtbar ist.

    Danke schon mal im voraus.



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Andere GUIs - Qt, GTK+, wxWidgets verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Was heißt übereinander? Hab ich immer noch nicht verstanden. Für irgendwelche Figuren und Verschieben usw. bietet sich aber eher QGraphicsView und QGraphicsScene an.



  • Nun, ich möchte ein Schachbrett mit Figuren erstellen. Meine erste Überlegung war das Spielfeld. Dazu habe ich QTableWidget genommen und 8x8 große Instanz erstellt. (jede Zelle hat die Größe 100x100)

    Da das Schachbrett abwechselnd Weiß/Grau Felder hat habe ich die Zellen so angepasst das jede zweite Grau war und man nichts reinschreiben konnte. Die Auswahl sowie die Horizontale und VertikaleHeader wurden auch deaktiviert.

    Mein Gedanke war das ich nun eine zweite Instanz nehme, mit der selben Größe und Anzahl an Zellen und diese dann darauf legen und die Figuren auf den Ebene bewege.

    Die zweite Instanz soll nur das Gitter behalten, so das ich das Spielfeld noch sehen kann.

    Verwende ich hier die falsche Klasse?



  • Das sind alles Hacks und Vergewaltigungen der Controls. Sicher könnte man das so hinbekommen, aber es macht überhaupt keinen Sinn.

    Wenn man ein QTableWidget (bzw. die ganzen View Klassen, z.B. QTableView, finde ich generell besser als die entsprechenden Widget Klassen) verwenden wollen würde, dann wahrscheinlich nur eins und das was du brauchst mit einer Ableitung vom QStyledItemDelegate zeichnen.

    Macht aber auch keinen Sinn, wenn du was zeichnen willst, dann zeichne das. Du kannst es entweder komplett selber zeichnen mit einem QPainter, oder du nimmst wie gesagt QGraphicsScene und QGraphicsView.


Anmelden zum Antworten