Zum Inhalt springen

Empfohlene Beiträge

Geschrieben (bearbeitet)

Hey Leutz,

ich sitze momentan an der Erarbeitung von dem Spiel "Mensch, Ärger dich nicht". Das ganze soll in C++ mit Hilfe von QT 4.5 erstellt werden. Nun versuche ich das Spielfeld zu erstellen. Dabei benutze ich das Gridlayout aber wie kann ich Felder schlicht unterschiedlich färben. Mit oder ohne benutzung von Grafiken. Bzw. wie kann ich einzeln Felder unter Gridlayout überhaupt definieren -.-

oder ist es das einfachste, einzelne Buttons auf das Gridlayout zu legen und deren Farben zu ändern?

Dann reagieren die auch auf Knopfdruck...

Danke für die Hilfe

Bearbeitet von fontys-tipc
Geschrieben

Hi,

Dabei benutze ich das Gridlayout aber wie kann ich Felder schlicht unterschiedlich färben. Mit oder ohne benutzung von Grafiken. Bzw. wie kann ich einzeln Felder unter Gridlayout überhaupt definieren -.-

Du kannst keine Felder des GridLayouts unterschiedlich färben, solange du noch nichts in diese "Layoutfelder" rein gelegt hast.

Du kannst in Qt so ziemlich alles in ein Layout legen, solange es nur von QWidget abgeleitet ist (und das ist eigentlich jedes GUI-Element).

Ohne zu wissen, wie du das Spiel geplant hast, gehe ich mal davon aus, dass du die einzelnen Felder nach jedem "Spielzug" immer wieder neuzeichnen/aktualisieren willst. Du könntest deine eigene "Spielfeldklasse" von QWidget ableiten, und die Funktion paintEvent() überladen. In der Funktion könntest du dann beliebig "rumzeichnen".

oder ist es das einfachste, einzelne Buttons auf das Gridlayout zu legen und deren Farben zu ändern?

Dann reagieren die auch auf Knopfdruck...

auch das geht, wenn du willst dass die Felder auf Knopfdruck reagieren. Dieses Verhalten könntest du aber auch bei simplen QWidgets erreichen, indem du die Funktion mousePressEvent() in deiner Widget-Klasse neu implementierst.

Geschrieben

Ich finde die GUI dafür zu missbrauchen etwas unschön. Ich persönlich würde das über ein OpenGL Fenster machen und in 2D direkt das ganze rendern lassen. Wenn man es richtig macht, dann könnte man auch irgendwann dann auf 3D umstellen.

Ansonsten schließe ich mich aber meinem Vorposter an

Phil

Geschrieben

nun habe ich noch ein programm, welches ich früher einmal mit einem freund in QT bearbeitet habe. Nun unter einer neueren QT-Version erscheint folgende fehlermeldung beim erstellen der makefile

nico@Nico-Ubuntu:~/Desktop/QtFlip$ qmake -project

nico@Nico-Ubuntu:~/Desktop/QtFlip$ qmake

nico@Nico-Ubuntu:~/Desktop/QtFlip$ make

g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I. -Isrc -I/usr/include/qt3 -o qrc_QtFlip.o qrc_QtFlip.cpp

qrc_QtFlip.cpp:10:28: error: QtCore/qglobal.h: No such file or directory

qrc_QtFlip.cpp:112: Fehler: expected constructor, destructor, or type conversion before »(« token

qrc_QtFlip.cpp:119: Fehler: expected constructor, destructor, or type conversion before »(« token

make: *** [qrc_QtFlip.o] Fehler 1

was soll ich damit anfangen...bzw wie kann ich, falls es daran liegt, die versionen kompatibel machen?

bedankt im vorraus :)

Geschrieben

qrc_QtFlip.cpp:10:28: error: QtCore/qglobal.h: No such file or directory

Du solltest Deine Includes korrekt wählen

qrc_QtFlip.cpp:112: Fehler: expected constructor, destructor, or type conversion before »(« token

qrc_QtFlip.cpp:119: Fehler: expected constructor, destructor, or type conversion before »(« token

make: *** [qrc_QtFlip.o] Fehler 1

und Deine Konstruktoren korrekt wählen.

was soll ich damit anfangen...

Ich gehe davon aus, dass Du die Fehler, die Dir der Kompiler meldet, interpretieren kannst

Phil

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...