C++ 如何在QT中创建二维数组?

C++ 如何在QT中创建二维数组?,c++,qt,qt5,qwidget,qlabel,C++,Qt,Qt5,Qwidget,Qlabel,嗨,我的问题很简单,我只是在QT论坛上问,但没有人回答我 我只是想制作一个QLabel的2D数组,有人能帮我吗,我读到的所有关于它的内容,他们使用动态向量,类似这样: <QVector <Data_Type>> 我不能用这个(我的项目不需要使用,我知道的CRAP规范),所以我必须使用一个类似于C++或C的2D。 编辑:我有2D数组,但不知道如何显示,我只有这个,不要给我错误: QWidget *mainWidget = new QWidget; Q

嗨,我的问题很简单,我只是在QT论坛上问,但没有人回答我

我只是想制作一个QLabel的2D数组,有人能帮我吗,我读到的所有关于它的内容,他们使用动态向量,类似这样:

<QVector <Data_Type>> 

<>我不能用这个(我的项目不需要使用,我知道的CRAP规范),所以我必须使用一个类似于C++或C的2D。 编辑:我有2D数组,但不知道如何显示,我只有这个,不要给我错误:

    QWidget *mainWidget = new QWidget;
    QLabel **maze;
    maze= new QLabel*[x];
    for (int i = 0; i < x; i++) {
        maze[i]= new QLabel[y];
    }
    for(int i=0;i<x;i++){
        for(int j=0;j<y;j++){
            maze[i][j].setPixmap(test);
            maze[i][j].move(i*60,j*60);
        }
    }
    mainWidget->show();
           setCentralWidget(mainWidget);
QWidget*mainWidget=新的QWidget;
QLabel**迷宫;
迷宫=新的QLabel*[x];
对于(int i=0;i对于(int i=0;i假设x和y是行数和列数,相应地,您可以简单地执行以下操作:

[..]
QGridLayout *grid = new QGridLayout;
for (int i = 0; i < x; i++) {
    for (int j = 0; j < y; j++) {
        QLabel *label = new QLabel(this);
        label->setPixmap("Path_Of_The_Image");
        grid.addWidget(label, i, j);
    }
}
[..]
[…]
QGridLayout*grid=新的QGridLayout;
对于(int i=0;isetPixmap(“图像的路径”);
addWidget(标签,i,j);
}
}
[..]

谢谢您的回答,但我已经在做了,我正在尝试使用网格设置位置,但是QLabel(2D数组)的大小是动态的,我不知道实际大小。因此我尝试为这个动态数组设置窗口周围的标准位置和边距(显然使用QGridLayout),但每次我更改它时,QLabel之间的空格都会更改(水平和垂直空格),即使我将它们之间的间距设置为零。可以使用2D数组吗?以前没有人尝试过吗?@vitaR,请展示你想要做什么。有模型吗?我正在制作一个迷宫。我从一个.txt文件中读取一个迷宫,项目说,行和列的大小可以在5到15之间。这根本不是游戏,你有两个角色,一只猫和一只老鼠,一个d他们必须找到出口的路径,你制作逻辑代码,然后你只需在窗口中显示过程,使用图像(你不必按任何键,只需重新加载窗口).我对QT非常陌生,所以我只想知道一些简单的事情。就像我说的,我尝试过QGridLayout,但是它们之间的空间,这个布局的位置和边距,不允许我做任何事情。嗨,维塔,我想你用错了工具。Qlabel不适合显示迷宫组件。请使用QML/QT Quick inste广告: