我正在制作一个二维网格(2-d Cellular Automaton)。所以我为控制台制作了完整的代码。但现在我需要用GUI实现它。我正在使用linux,所以我读到QT Creator将是最好的选择。 有人可以给我一个小小的提示。如何开始更好。您建议使用哪些视图/ widjets?任何帮助都会有用。 在c ++代码中,我创建了一个大小为15/15元素的二维字符数组,其中包含类型为“1”或“0”的元素。 我将非常感谢任何帮助!提前谢谢。
答案 0 :(得分:0)
方法之一:使用setPixel
创建QImage并使用您的数据填充它。将其转换为QPixmap并使用QLabel显示它。
答案 1 :(得分: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();