创建按钮数组

问题描述 投票:0回答:1

我或多或少是一个完整的初学者,因此,如果遇到这个问题确实太简单了,请原谅,但我尝试在QT中创建一个数字瓶阵列。它的外观应类似于扫雷游戏。除了创建每个按钮,甚至还有一个方法,还有另一种方法,当程序运行时,用户选择Array的大小,例如8x8字段。我的目标是最终使用户可以制作类似于地图的地图,在其中可以对数组中的每个按钮进行不同的着色,但是如果有人可以告诉我如何创建数组,这将非常有帮助。如果可能的话详细介绍,因为我不是以前使用QT或C ++的人。

arrays qt button minesweeper
1个回答
0
投票

您可以使用嵌套的QVector而不是数组来保存按钮,并且这里有一段代码可以在Qt MainWindow上创建8 * 8按钮视图并将按钮保存在QVector中,这可能会有所帮助

QGridLayout* layout = new QGridLayout();
ui->centralwidget->setLayout(layout);

QVector<QVector<QPushButton*>> buttons2DVector(8);

for (int i=0;i<8;i++){
    buttons2DVector[i].resize(8);

    for(int j=0;j<8;j++){
        QPushButton *b = new QPushButton("button");
        layout->addWidget(b,i,j);
        buttons2DVector[i][j] = b;
    }
}

然后,您可以轻松使用来访问任何按钮

  buttons2DVector[rowNum][columnNum]->func();
© www.soinside.com 2019 - 2024. All rights reserved.