【发布时间】:2021-12-29 13:21:50
【问题描述】:
我有一个 QGridLayout 和 225 个孩子 QTextEdit。我需要根据每个QTextEdit 的位置使用它们的文本值填充QString board[15][15] 数组。如果我以 long 的方式这样做,我会这样做:
boardArray[0][0] = ui->box0x0->toPlainText();
boardArray[0][1] = ui->box0x1->toPlainText();
boardArray[0][2] = ui->box0x2->toPlainText();
...
这似乎是一个非常糟糕的解决方案。所以我决定遍历网格的QTextEdit 子节点,以便我可以操纵每个子节点;
QList<QTextEdit*> textEdits = ui->gridLayout->findChildren<QTextEdit *>();
for (QTextEdit* box : textEdits) {
// We don't know where this box is though
board[ ??? ][ ??? ] = box->toPlainText();
}
不幸的是,没有 QTextEdit.row 属性或任何东西,所以我不知道它们的顺序或如何填充我的 board 数组而不是随机的。
对于如何将QTextEdit 小部件组织到我的board 数组中,你们有什么想法吗?我不确定如何使用这种迭代技术来做到这一点。
【问题讨论】: