2D array into graphicview to create Objects from 2D-Array
-
This code should show the 2D-Array to Graphicview
name of Graphicview in GUI is "view"
The Problem is that i don't get the acknockledge to implement a array to a graphicview.
Because i want to create a game of this 2D-Array and creating objects from them.
But i can't even display it and i don't know how can i convert my letters (S,X,G => 2D_Array) to GUI with Graphicview ?const int xarrSize = 13; const int yarrSize = 60; int x = 0; int y = 0; char c; char grid[xarrSize][yarrSize]; fstream input; input.open("C:/map.txt",fstream::in); if (!input) { cout << "not open"; } while (input >> noskipws >> c) { if (c == '\n'){ x++; y = 0; grid[x][y] = c; } else { grid[x][y] = c; y++; } } scene = new QGraphicsScene(this); for (int i = 0; i < xarrSize; ++i) { for (int j = 0; j < yarrSize; ++j) { scene->addItem(grid[i][j]); //not possible to convert this array to GraphicsItem from a typ of char ui->view->setScene(grid); } cout << "\n"; }
-
QPixmap outPixmap = QPixmap(xarrSize,yarrSize); outPixmap.loadFromData(grid); // Bild-Datei anzeigen ui->label->setPixmap(outPixmap); ui->label->show();
but doesn't know the loadFromData..
i will try more -
@projectbavaria said in 2D array into graphicview to create Objects from 2D-Array:
outPixmap.loadFromData(grid);
but doesn't know the loadFromData..What type is
grid
? If it's yourchar grid[xarrSize][yarrSize]
then your call does not correspond to either overload https://doc.qt.io/qt-5/qpixmap.html#loadFromData or https://doc.qt.io/qt-5/qpixmap.html#loadFromData-1. -
can't go on i will look From Matrix to QImage and QPixmap on forum.. maybe that will help
-
Hi,
Do you mean you have a two dimensional array of chars that you want to build a grid with and that each of the cell of that grid shall contain the letter at that point of the array ?
-
This post is deleted!
-
This post is deleted!
-
@projectbavaria ![alt text]( image url)
-
![0_1590505663278_14df9cf0-9d3f-4008-97bc-f55769443621-image.png](Uploading 100%)
now i getting a black screen and try to go on
-
From what you posted, there's nothing added to the scene and your view seems to be a local variable so unless it's in your main function body, it will be destroyed before you can even see it.
-
Except that you are not using your array to draw anything. You are using a QBitArray which contains nothing to draw on a image that you then use as brush.
You should start by just drawing on that QImage properly and set it on a QLabel to see what it would look like. And once you have that working, come back to your QGraphicsView part.