首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建pushButtons的10x10字段

创建pushButtons的10x10字段
EN

Stack Overflow用户
提问于 2020-06-15 22:34:34
回答 1查看 54关注 0票数 0

嘿,我想创建一个pushButtons的8x8字段。使用此代码时

代码语言:javascript
运行
复制
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QVector>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

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;
    }
}

错误为:未知类型名称"QGridLayout“未知类型名称"ui”

代码是给我的,但我不知道如何正确使用它。正如你可能看到的,我是QT和C++的初学者,但如果有人能帮助我就太好了。

EN

回答 1

Stack Overflow用户

发布于 2020-06-15 23:21:58

假设您在MainWindow类声明中添加了以下内容:

代码语言:javascript
运行
复制
QVector<QVector<QPushButton*>> buttons2DVector(8);
void createGrid();

您可以通过编程方式创建网格,如下所示:

代码语言:javascript
运行
复制
#include "mainwindow.h"
#include <QVector>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    createGrid();
}

void MainWindow::createGrid() {
    QFrame *frame = new QFrame(this);
    QGridLayout *layout = new QGridLayout(frame);

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

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

    setCentralWidget(frame);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62390535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档