如何在QT中制作2d数组

How to make a 2d Array in QT?

本文关键字:2d 数组 QT      更新时间:2023-10-16

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

我只是想做一个QLabel的二维数组,有人能帮我吗,我读到的都是动态向量,就像这样:

<QVector <Data_Type>> 

我不能使用它(我的项目还不需要使用它,我知道的废话规范),所以我必须使用像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);

现在我只想显示图像,一旦我运行项目,没有图像出现,是Widget的东西对吗?如何在主窗口显示?我也需要一个2D小部件?感谢您的宝贵时间。

假设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);
    }
}
[..]