首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作9*9地图,我可以使用Qt5.12.1在一些网格中写数字?

如何制作9*9地图,我可以使用Qt5.12.1在一些网格中写数字?
EN

Stack Overflow用户
提问于 2019-03-15 21:59:56
回答 1查看 79关注 0票数 0

我刚刚开始学习Qt,我计划写一个数独程序。我已经使用QPainter绘制了9*9地图,但是我不能在它的grids.How中输入数字来解决这个问题?如果我想要一个新的9*9地图,其中包含一些不能在其中修改的数字,并且在其他网格中我可以自由输入数字,我应该怎么做?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-03-16 02:20:30

我也会使用QLineEdits,然后禁用预先设置好的。

这将为您提供一个起点(注意:在本例中,我向mainWindow添加了一个简单的gridLayout ):

代码语言:javascript
复制
  // 2D list of all line-edits - in case you want to access the elements later
QList<QList<QLineEdit*>> numEdits;
QValidator *validator = new QIntValidator(1, 9, this);

for (int idx = 0; idx < 9; ++idx) {
    numEdits.append(QList<QLineEdit*>());

    for (int jdx = 0; jdx < 9; ++jdx) {
        QLineEdit *item = new QLineEdit(this);
        item->setValidator(validator);

        // for pre-set values
        item->setEnabled(false);

        ui->gridLayout->addWidget(item, idx, jdx);

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

https://stackoverflow.com/questions/55184295

复制
相关文章

相似问题

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