0

我正在制作一个二维网格(二维元胞自动机)。所以我为控制台制作了完整的代码。但现在我需要用 GUI 来实现它。我正在使用 linux,所以我读到 QT Creator 将是最佳选择。有人可以给我一个小提示。怎么开始比较好。您推荐使用哪些视图/widjets?任何帮助都会很有用。在 c++ 代码中,我制作了一个大小为 15/15 的元素的二维 char 数组,其元素类型为“1”或“0”。我将非常感谢任何帮助!先感谢您。

4

2 回答 2

0

一种方法:创建一个 QImage 并使用setPixel. 将其转换为 QPixmap 并使用 QLabel 显示它。

于 2013-11-03T23:15:43.137 回答
0

下面是如何在 GUI 上显示数组的两个简单示例。当然,也可能有其他变化,这取决于您的需要。

具有网格布局的小部件

QWidget *mainWidget = new QWidget;
QGridLayout *layout = new QGridLayout;
for (int r = 0; r < 15; r++) {
    for (int c = 0; c < 15; c++) {
        QLabel *label = new QLabel("1", mainWidget); // Text could be 1 or 0.
        layout->addWidget(label, r, c);
    }
}
mainWidget->setLayout(layout);
mainWidget->show();

使用表格视图

QTableWidget *table = new QTableWidget(15, 15);
for (int r = 0; r < 15; r++) {
    for (int c = 0; c < 15; c++) {
         QTableWidgetItem *item = new QTableWidgetItem("1"); // Text could be 1 or 0.
         table->setItem(r, c, item);
    }
}
table->show();
于 2013-11-04T07:51:56.730 回答