如何在 Qt 中声明和使用二维整数数组(GUI)?

Posted

技术标签:

【中文标题】如何在 Qt 中声明和使用二维整数数组(GUI)?【英文标题】:How to declare and use in Qt a 2D integer array (GUI)? 【发布时间】:2015-12-06 20:36:56 【问题描述】:

我想在我的 QT GUI APPLICATION 的头文件中创建一个二维整数数组,其中包含 2 列和尚未定义(因此是动态的)行数。

到目前为止,我已经得到了这个:制作一个动态数组

QVector <qint8> ArrayName;

我可以将它用作二维数组吗?而且,我以后如何在某一列中调用某一行?例如ArrayName[40][2]?

【问题讨论】:

【参考方案1】:

可以创建一个QVector&lt;QVector&lt;qint8&gt;&gt;,但我不想去那里:它很笨重而且效率不高。我只是将维度折叠成一维数组:

const int NUMBER_OF_COLUMNS = 2;
QVector<qint8> data;
...
data.resize(numberOfRows * NUMBER_OF_COLUMNS);
...
// Get (row, column):
const qint8 v = data[row*2+column]; // column being 0 or 1

【讨论】:

以上是关于如何在 Qt 中声明和使用二维整数数组(GUI)?的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的整数用户输入

将字符分配给在 C 中使用 malloc 声明的二维数组时收到警告

无法在 C++ 中声明动态二维数组 [重复]

如何将数据存储在动态二维数组中,该数组在 C++ 中的另一个结构中也使用的结构中声明

VBA Excel 二维数组

JAVA中如何创建一个二维数组,然后给二维数组赋值!